[INFO] cloning repository https://github.com/jdstanhope/shuck
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jdstanhope/shuck" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdstanhope%2Fshuck", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdstanhope%2Fshuck'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 509b84d40131d6aed60e8d3797b7ca9f1334cf08
[INFO] testing jdstanhope/shuck against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjdstanhope%2Fshuck" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jdstanhope/shuck
[INFO] finished tweaking git repo https://github.com/jdstanhope/shuck
[INFO] tweaked toml for git repo https://github.com/jdstanhope/shuck written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jdstanhope/shuck on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jdstanhope/shuck already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded endian-type v0.2.0
[INFO] [stderr]   Downloaded rustyline v18.0.0
[INFO] [stderr]   Downloaded conpty v0.5.1
[INFO] [stderr]   Downloaded ptyprocess v0.5.0
[INFO] [stderr]   Downloaded signal-hook v0.4.4
[INFO] [stderr]   Downloaded expectrl v0.9.0
[INFO] [stderr]   Downloaded radix_trie v0.3.0
[INFO] [stderr]   Downloaded nix v0.31.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ffc909a8631235a41f779c5aacf1779a81eccdda266a3a6f620838bc49c0a852
[INFO] running `Command { std: "docker" "start" "-a" "ffc909a8631235a41f779c5aacf1779a81eccdda266a3a6f620838bc49c0a852", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ffc909a8631235a41f779c5aacf1779a81eccdda266a3a6f620838bc49c0a852", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ffc909a8631235a41f779c5aacf1779a81eccdda266a3a6f620838bc49c0a852", kill_on_drop: false }`
[INFO] [stdout] ffc909a8631235a41f779c5aacf1779a81eccdda266a3a6f620838bc49c0a852
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8cc3ef67d67e43ae5807fd73ba9cef276709663fba116259c1f7d1a73b7d0be1
[INFO] running `Command { std: "docker" "start" "-a" "8cc3ef67d67e43ae5807fd73ba9cef276709663fba116259c1f7d1a73b7d0be1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling endian-type v0.2.0
[INFO] [stderr]    Compiling signal-hook v0.4.4
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling radix_trie v0.3.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rustyline v18.0.0
[INFO] [stderr]    Compiling huck v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.86s
[INFO] running `Command { std: "docker" "inspect" "8cc3ef67d67e43ae5807fd73ba9cef276709663fba116259c1f7d1a73b7d0be1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cc3ef67d67e43ae5807fd73ba9cef276709663fba116259c1f7d1a73b7d0be1", kill_on_drop: false }`
[INFO] [stdout] 8cc3ef67d67e43ae5807fd73ba9cef276709663fba116259c1f7d1a73b7d0be1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dfd4a6bfb3bd1ca5deff7a1a28804b3d5124af46781f08d57748931078435a34
[INFO] running `Command { std: "docker" "start" "-a" "dfd4a6bfb3bd1ca5deff7a1a28804b3d5124af46781f08d57748931078435a34", kill_on_drop: false }`
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling rustyline v18.0.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ptyprocess v0.5.0
[INFO] [stderr]    Compiling expectrl v0.9.0
[INFO] [stderr]    Compiling huck v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 46.04s
[INFO] running `Command { std: "docker" "inspect" "dfd4a6bfb3bd1ca5deff7a1a28804b3d5124af46781f08d57748931078435a34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfd4a6bfb3bd1ca5deff7a1a28804b3d5124af46781f08d57748931078435a34", kill_on_drop: false }`
[INFO] [stdout] dfd4a6bfb3bd1ca5deff7a1a28804b3d5124af46781f08d57748931078435a34
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7f9aba01e9460cb4a721c35b308df4109922b2ab4166e564d612a5b1b3cfaef5
[INFO] running `Command { std: "docker" "start" "-a" "7f9aba01e9460cb4a721c35b308df4109922b2ab4166e564d612a5b1b3cfaef5", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/huck-981fc93fbe352692)
[INFO] [stdout] 
[INFO] [stdout] running 2106 tests
[INFO] [stdout] test alias_expand::tests::quoted_word_not_expanded ... ok
[INFO] [stdout] test alias_expand::tests::expansion_after_pipe ... ok
[INFO] [stdout] test alias_expand::tests::expansion_after_semi ... ok
[INFO] [stdout] test alias_expand::tests::recursive_expansion ... ok
[INFO] [stdout] test arith::tests::comma_inside_parens ... ok
[INFO] [stdout] test arith::tests::comma_nested_left_fold ... ok
[INFO] [stdout] test arith::tests::display_modulo_by_zero ... ok
[INFO] [stdout] test arith::tests::display_division_by_zero ... ok
[INFO] [stdout] test arith::tests::display_parse_error_is_bare_message ... ok
[INFO] [stdout] test alias_expand::tests::simple_expansion ... ok
[INFO] [stdout] test arith::tests::display_not_an_integer_quotes_var_and_value ... ok
[INFO] [stdout] test arith::tests::eval_addition ... ok
[INFO] [stdout] test arith::tests::eval_arithmetic_right_shift_preserves_sign ... ok
[INFO] [stdout] test arith::tests::eval_assign_basic_mutates_shell ... ok
[INFO] [stdout] test arith::tests::eval_assign_compound_add ... ok
[INFO] [stdout] test arith::tests::eval_assign_div_by_zero_errors ... ok
[INFO] [stdout] test arith::tests::eval_bitwise_and ... ok
[INFO] [stdout] test arith::tests::eval_comparison_returns_one_or_zero ... ok
[INFO] [stdout] test arith::tests::eval_division_by_zero ... ok
[INFO] [stdout] test arith::tests::comma_is_lower_precedence_than_assignment ... ok
[INFO] [stdout] test alias_expand::tests::no_expansion_outside_command_position ... ok
[INFO] [stdout] test arith::tests::comma_value_is_last_operand ... ok
[INFO] [stdout] test arith::tests::eval_bitwise_not ... ok
[INFO] [stdout] test arith::tests::eval_left_shift ... ok
[INFO] [stdout] test arith::tests::eval_bitwise_or ... ok
[INFO] [stdout] test arith::tests::eval_logical_and_short_circuits ... ok
[INFO] [stdout] test arith::tests::eval_empty_var_is_zero ... ok
[INFO] [stdout] test arith::tests::comma_keeps_side_effects_of_all_operands ... ok
[INFO] [stdout] test arith::tests::eval_logical_not ... ok
[INFO] [stdout] test arith::tests::eval_logical_or_short_circuits ... ok
[INFO] [stdout] test arith::tests::eval_bitwise_xor ... ok
[INFO] [stdout] test arith::tests::eval_number_literal ... ok
[INFO] [stdout] test arith::tests::eval_post_inc_returns_old_value ... ok
[INFO] [stdout] test arith::tests::eval_non_integer_var_is_error ... ok
[INFO] [stdout] test arith::tests::eval_division_truncates_toward_zero ... ok
[INFO] [stdout] test arith::tests::eval_pow_basic ... ok
[INFO] [stdout] test arith::tests::eval_overflow_wraps ... ok
[INFO] [stdout] test arith::tests::eval_modulo ... ok
[INFO] [stdout] test alias_expand::tests::trailing_space_chains_expansion ... ok
[INFO] [stdout] test arith::tests::eval_modulo_by_zero ... ok
[INFO] [stdout] test arith::tests::eval_pow_negative_exponent_errors ... ok
[INFO] [stdout] test arith::tests::eval_logical_and_returns_one_when_both_truthy ... ok
[INFO] [stdout] test arith::tests::eval_shift_count_64_or_more_errors ... ok
[INFO] [stdout] test arith::tests::eval_pre_inc_returns_new_value ... ok
[INFO] [stdout] test arith::tests::eval_logical_or_returns_one_when_either_truthy ... ok
[INFO] [stdout] test arith::tests::eval_pow_zero_exponent ... ok
[INFO] [stdout] test arith::tests::eval_shift_negative_count_errors ... ok
[INFO] [stdout] test arith::tests::eval_precedence ... ok
[INFO] [stdout] test arith::tests::eval_set_var_lookup ... ok
[INFO] [stdout] test arith::tests::eval_ternary ... ok
[INFO] [stdout] test arith::tests::eval_unary_minus ... ok
[INFO] [stdout] test arith::tests::eval_subtraction_left_assoc ... ok
[INFO] [stdout] test arith::tests::eval_unset_var_is_zero ... ok
[INFO] [stdout] test arith::tests::parse_double_minus_with_number_is_prefix_dec_error ... ok
[INFO] [stdout] test arith::tests::parse_empty_is_error ... ok
[INFO] [stdout] test arith::tests::eval_var_with_dollar_prefix_same_as_bare ... ok
[INFO] [stdout] test arith::tests::parse_equality_lower_than_comparison ... ok
[INFO] [stdout] test arith::tests::leading_comma_is_error ... ok
[INFO] [stdout] test arith::tests::parse_addition ... ok
[INFO] [stdout] test arith::tests::parse_assignment_lhs_must_be_var ... ok
[INFO] [stdout] test arith::tests::parse_assignment_right_associative ... ok
[INFO] [stdout] test arith::tests::parse_bitwise_precedence_or_below_and ... ok
[INFO] [stdout] test arith::tests::parse_comparison ... ok
[INFO] [stdout] test arith::tests::parse_compound_assignment_all_forms ... ok
[INFO] [stdout] test arith::tests::parse_identifier ... ok
[INFO] [stdout] test arith::tests::parse_logical_and_binds_tighter_than_or ... ok
[INFO] [stdout] test arith::tests::parse_missing_rhs_is_error ... ok
[INFO] [stdout] test arith::tests::parse_multiplication_binds_tighter_than_addition ... ok
[INFO] [stdout] test arith::tests::parse_parenthesized_overrides_precedence ... ok
[INFO] [stdout] test arith::tests::parse_number_literal ... ok
[INFO] [stdout] test arith::tests::parse_postfix_lhs_must_be_var ... ok
[INFO] [stdout] test arith::tests::parse_power_right_associative ... ok
[INFO] [stdout] test arith::tests::parse_pre_post_inc_dec ... ok
[INFO] [stdout] test arith::tests::parse_shift_below_addition ... ok
[INFO] [stdout] test arith::tests::parse_strips_dollar_on_var ... ok
[INFO] [stdout] test arith::tests::parse_subtraction_left_associative ... ok
[INFO] [stdout] test arith::tests::parse_ternary_right_associative ... ok
[INFO] [stdout] test arith::tests::parse_trailing_junk_is_error ... ok
[INFO] [stdout] test arith::tests::parse_unary_minus ... ok
[INFO] [stdout] test arith::tests::parse_unary_minus_double_negation_uses_space ... ok
[INFO] [stdout] test arith::tests::parse_unbalanced_paren_is_error ... ok
[INFO] [stdout] test arith::tests::tokenize_base_n_hex_via_pound ... ok
[INFO] [stdout] test arith::tests::tokenize_base_n_binary ... ok
[INFO] [stdout] test arith::tests::tokenize_base_n_invalid_digit_errors ... ok
[INFO] [stdout] test arith::tests::tokenize_bitwise_operators ... ok
[INFO] [stdout] test arith::tests::parse_unary_not ... ok
[INFO] [stdout] test arith::tests::tokenize_hex_literal_uppercase ... ok
[INFO] [stdout] test arith::tests::tokenize_compound_assignments ... ok
[INFO] [stdout] test arith::tests::tokenize_identifier_with_dollar_prefix_strips_dollar ... ok
[INFO] [stdout] test arith::tests::tokenize_identifier ... ok
[INFO] [stdout] test arith::tests::tokenize_inc_dec_operators ... ok
[INFO] [stdout] test arith::tests::tokenize_large_number ... ok
[INFO] [stdout] test arith::tests::tokenize_octal_literal ... ok
[INFO] [stdout] test arith::tests::tokenize_distinguishes_lt_from_shl ... ok
[INFO] [stdout] test arith::tests::tokenize_base_n_invalid_base_high_errors ... ok
[INFO] [stdout] test arith::tests::tokenize_base_n_invalid_base_low_errors ... ok
[INFO] [stdout] test arith::tests::tokenize_distinguishes_eq_from_assign ... ok
[INFO] [stdout] test arith::tests::tokenize_multi_char_operators ... ok
[INFO] [stdout] test arith::tests::tokenize_number_overflow_is_parse_error ... ok
[INFO] [stdout] test arith::tests::tokenize_octal_invalid_digit_errors ... ok
[INFO] [stdout] test arith::tests::tokenize_power_operator ... ok
[INFO] [stdout] test arith::tests::tokenize_skips_whitespace ... ok
[INFO] [stdout] test arith::tests::tokenize_single_number ... ok
[INFO] [stdout] test arith::tests::tokenize_unknown_char_is_parse_error ... ok
[INFO] [stdout] test arith::tests::tokenize_single_amp_is_bitwise_and ... ok
[INFO] [stdout] test arith::tests::tokenize_single_char_operators ... ok
[INFO] [stdout] test arith::tests::tokenize_single_pipe_is_bitwise_or ... ok
[INFO] [stdout] test arith::tests::tokenize_hex_literal ... ok
[INFO] [stdout] test brace_expand::tests::integer_range_with_step ... ok
[INFO] [stdout] test brace_expand::tests::invalid_range_falls_through ... ok
[INFO] [stdout] test brace_expand::tests::invalid_brace_is_literal ... ok
[INFO] [stdout] test brace_expand::tests::integer_range_descending ... ok
[INFO] [stdout] test brace_expand::tests::nested_brace ... ok
[INFO] [stdout] test arith::tests::trailing_comma_is_error ... ok
[INFO] [stdout] test brace_expand::tests::cartesian_two_braces ... ok
[INFO] [stdout] test brace_expand::tests::char_range_ascending ... ok
[INFO] [stdout] test brace_expand::tests::comma_list_simple ... ok
[INFO] [stdout] test brace_expand::tests::comma_list_with_prefix_suffix ... ok
[INFO] [stdout] test brace_expand::tests::soh_stx_in_input_pass_through_cleanly ... ok
[INFO] [stdout] test brace_expand::tests::integer_range_ascending ... ok
[INFO] [stdout] test arith::tests::tokenize_zero ... ok
[INFO] [stdout] test brace_expand::tests::zero_padded_range ... ok
[INFO] [stdout] test builtins::alias_tests::alias_defines_simple ... ok
[INFO] [stdout] test builtins::alias_tests::alias_lookup_existing_prints ... ok
[INFO] [stdout] test builtins::alias_tests::alias_lookup_missing_status_1 ... ok
[INFO] [stdout] test builtins::alias_tests::alias_no_args_lists_empty ... ok
[INFO] [stdout] test builtins::alias_tests::alias_no_args_lists_sorted ... ok
[INFO] [stdout] test builtins::alias_tests::unalias_dash_a_clears_all ... ok
[INFO] [stdout] test builtins::alias_tests::unalias_missing_errors_status_1 ... ok
[INFO] [stdout] test builtins::array_declare_tests::declare_dash_a_creates_empty_array ... ok
[INFO] [stdout] test builtins::array_declare_tests::readonly_array_blocks_element_write ... ok
[INFO] [stdout] test builtins::alias_tests::unalias_no_args_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::array_declare_tests::declare_p_formats_array ... ok
[INFO] [stdout] test builtins::alias_tests::unalias_removes_existing ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_cap_a_i_errors ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_a_cap_a_errors ... ok
[INFO] [stdout] test builtins::array_declare_tests::export_array_rejects ... ok
[INFO] [stdout] test builtins::array_declare_tests::declare_dash_a_with_value ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_cap_a_on_existing_indexed_errors ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_p_formats_associative ... ok
[INFO] [stdout] test builtins::array_declare_tests::declare_dash_ai_errors ... ok
[INFO] [stdout] test builtins::array_declare_tests::readonly_p_lists_array_with_full_elements ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_cap_a_on_existing_scalar_errors ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_dash_uses_oldpwd_as_target ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_sets_oldpwd_to_previous_pwd ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_cap_a_creates_empty_associative ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::readonly_dash_cap_a_creates_readonly_associative ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_dash_errors_when_oldpwd_empty ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_dash_errors_when_oldpwd_unset ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::export_associative_rejects ... ok
[INFO] [stdout] test builtins::assoc_declare_tests::declare_dash_cap_a_with_value ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_sets_pwd_to_target_directory ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_dash_prints_new_pwd_on_stdout ... ok
[INFO] [stdout] test builtins::colon_tests::colon_exits_zero ... ok
[INFO] [stdout] test builtins::cd_pwd_tests::cd_with_pwd_initially_unset_does_not_set_oldpwd ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_keyword_verbose ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_function ... ok
[INFO] [stdout] test builtins::colon_tests::colon_with_args_exits_zero ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_alias_with_single_quote_escapes ... ok
[INFO] [stdout] test builtins::command_tests::command_builtin_bare_form_still_errors_when_called_directly ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_builtin_concise ... ok
[INFO] [stdout] test builtins::command_tests::command_no_args_exits_zero ... ok
[INFO] [stdout] test builtins::declare_tests::declare_f_named_function_found ... ok
[INFO] [stdout] test builtins::declare_tests::declare_f_lists_functions ... ok
[INFO] [stdout] test builtins::declare_tests::declare_invalid_identifier ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_builtin_verbose ... ok
[INFO] [stdout] test builtins::declare_tests::declare_bare_sets_var ... ok
[INFO] [stdout] test builtins::declare_tests::declare_f_named_function_missing ... ok
[INFO] [stdout] test builtins::declare_tests::declare_f_missing_is_silent ... ok
[INFO] [stdout] test builtins::declare_tests::declare_p_missing_errors ... ok
[INFO] [stdout] test builtins::declare_tests::declare_p_prints_known_var ... ok
[INFO] [stdout] test builtins::declare_tests::declare_rx_combines ... ok
[INFO] [stdout] test builtins::command_tests::command_dash_v_notfound_silent_status_1 ... ok
[INFO] [stdout] test builtins::declare_tests::declare_r_sets_and_locks ... ok
[INFO] [stdout] test builtins::declare_tests::declare_deferred_flag_errors ... ok
[INFO] [stdout] test builtins::declare_tests::declare_typeset_alias ... ok
[INFO] [stdout] test builtins::declare_tests::declare_x_sets_and_exports ... ok
[INFO] [stdout] test builtins::dirstack_tests::dir_display_home_match_collapses ... ok
[INFO] [stdout] test builtins::dirstack_tests::dir_display_no_collapse_flag ... ok
[INFO] [stdout] test builtins::dirstack_tests::is_signed_index_arg_recognizes_numeric_forms ... ok
[INFO] [stdout] test builtins::dirstack_tests::parse_signed_index_invalid ... ok
[INFO] [stdout] test builtins::dirstack_tests::is_signed_index_arg_rejects_bare_signs_and_paths ... ok
[INFO] [stdout] test builtins::dirstack_tests::parse_signed_index_no_sign ... ok
[INFO] [stdout] test builtins::dirstack_tests::dir_display_home_subdir_collapses ... ok
[INFO] [stdout] test builtins::dirstack_tests::parse_signed_index_out_of_range ... ok
[INFO] [stdout] test builtins::dirstack_tests::parse_signed_index_minus ... ok
[INFO] [stdout] test builtins::disown_tests::disown_arh_marks_all_running ... ok
[INFO] [stdout] test builtins::disown_tests::disown_bare_pid_matches_job_leader ... ok
[INFO] [stdout] test builtins::disown_tests::disown_bare_pid_matches_pipeline_stage ... ok
[INFO] [stdout] test builtins::disown_tests::disown_a_removes_all_jobs ... ok
[INFO] [stdout] test builtins::disown_tests::disown_drops_pending_done_notification ... ok
[INFO] [stdout] test builtins::disown_tests::disown_ah_marks_all ... ok
[INFO] [stdout] test builtins::disown_tests::disown_ar_removes_all_running ... ok
[INFO] [stdout] test builtins::disown_tests::disown_h_marks_for_nohup_keeps_in_table ... ok
[INFO] [stdout] test builtins::disown_tests::disown_h_with_bare_pid_marks_job ... ok
[INFO] [stdout] test builtins::disown_tests::disown_multiple_args_processes_each ... ok
[INFO] [stdout] test builtins::disown_tests::disown_no_args_removes_current_job ... ok
[INFO] [stdout] test builtins::disown_tests::disown_r_filters_to_running_only ... ok
[INFO] [stdout] test builtins::disown_tests::disown_no_args_with_no_current_job_errors_status_1 ... ok
[INFO] [stdout] test builtins::disown_tests::disown_unknown_pid_errors_status_1 ... ok
[INFO] [stdout] test builtins::disown_tests::disown_with_non_percent_arg_returns_status_1 ... ok
[INFO] [stdout] test builtins::disown_tests::disown_with_bad_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::disown_tests::disown_with_spec_removes_specified_job ... ok
[INFO] [stdout] test builtins::eval_tests::eval_exit_propagates ... ok
[INFO] [stdout] test builtins::eval_tests::eval_assignment_persists ... ok
[INFO] [stdout] test builtins::eval_tests::eval_empty_arg_exits_zero ... ok
[INFO] [stdout] test builtins::exit_tests::exit_no_args_inherits_last_status ... ok
[INFO] [stdout] test builtins::eval_tests::eval_no_args_exits_zero ... ok
[INFO] [stdout] test builtins::eval_tests::eval_false_returns_one ... ok
[INFO] [stdout] test builtins::eval_tests::eval_simple_command_runs ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_on_running_job_returns_no_current_job ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_bad_job_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_multiple_args_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_no_such_job_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_percent_spec_arg_and_no_job_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_no_jobs_errors ... ok
[INFO] [stdout] test builtins::fg_bg_tests::bg_with_running_spec_errors_already_running ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_bad_job_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_multiple_args_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_no_such_job_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_non_percent_arg_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_percent_spec_arg_and_no_job_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::is_builtin_recognizes_fg_and_bg ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_multiarg_two_done_returns_last_status ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_invalid_flag_is_usage_error ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_multiarg_unparseable_rejects_before_waiting ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_multiarg_unparseable_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_n_p_var_captures_pgid_via_explicit_target ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_n_p_without_var_name_is_usage_error ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_n_with_explicit_already_done_returns_its_status ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_n_with_no_jobs_returns_127 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_n_with_only_done_jobs_returns_127 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_p_without_n_is_usage_error ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_with_bad_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_with_done_spec_returns_decoded_status_immediately ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_with_done_spec_returns_nonzero_for_exit_n ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_with_no_such_spec_errors_status_1 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::wait_with_unparseable_pid_arg_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::getopts_step_tests::clustered_options_walk_within_word ... ok
[INFO] [stdout] test builtins::getopts_step_tests::double_dash_terminates_and_advances ... ok
[INFO] [stdout] test builtins::getopts_step_tests::exhausted_returns_done_question ... ok
[INFO] [stdout] test builtins::getopts_step_tests::invalid_option_silent ... ok
[INFO] [stdout] test builtins::getopts_step_tests::invalid_option_verbose ... ok
[INFO] [stdout] test builtins::getopts_step_tests::missing_arg_silent ... ok
[INFO] [stdout] test builtins::getopts_step_tests::missing_arg_verbose ... ok
[INFO] [stdout] test builtins::getopts_step_tests::non_option_terminates ... ok
[INFO] [stdout] test builtins::getopts_step_tests::option_with_attached_arg ... ok
[INFO] [stdout] test builtins::getopts_step_tests::option_with_separate_arg ... ok
[INFO] [stdout] test alias_expand::tests::cycle_protection ... ok
[INFO] [stdout] test builtins::getopts_step_tests::plain_option_then_advance ... ok
[INFO] [stdout] test builtins::declare_tests::declare_plus_r_errors ... ok
[INFO] [stdout] test builtins::dirstack_tests::dir_display_no_home_unchanged ... ok
[INFO] [stdout] test builtins::declare_tests::declare_plus_x_unexports ... ok
[INFO] [stdout] test builtins::hash_tests::hash_d_missing_errors ... ok
[INFO] [stdout] test builtins::hash_tests::hash_l_re_input_form ... ok
[INFO] [stdout] test builtins::dirstack_tests::is_signed_index_arg_rejects_alpha_after_sign ... ok
[INFO] [stdout] test builtins::dirstack_tests::dir_display_unrelated_path_passes_through ... ok
[INFO] [stdout] test builtins::hash_tests::hash_p_adds_direct ... ok
[INFO] [stdout] test builtins::exit_tests::exit_no_args_inherits_zero_when_clean ... ok
[INFO] [stdout] test builtins::disown_tests::disown_a_ignores_positional_args ... ok
[INFO] [stdout] test builtins::hash_tests::hash_d_removes ... ok
[INFO] [stdout] test builtins::disown_tests::disown_invalid_flag_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::hash_tests::hash_p_no_arg_status_2 ... ok
[INFO] [stdout] test builtins::fg_bg_tests::fg_with_no_jobs_errors ... ok
[INFO] [stdout] test builtins::hash_tests::hash_path_like_name_rejected ... ok
[INFO] [stdout] test builtins::dirstack_tests::parse_signed_index_plus ... ok
[INFO] [stdout] test builtins::hash_tests::hash_invalid_option_status_2 ... ok
[INFO] [stdout] test builtins::disown_tests::is_builtin_recognizes_disown ... ok
[INFO] [stdout] test builtins::hash_tests::hash_t_single_name ... ok
[INFO] [stdout] test builtins::hash_tests::hash_empty_lists_empty ... ok
[INFO] [stdout] test builtins::help_tests::help_invalid_option ... ok
[INFO] [stdout] test builtins::help_tests::help_description_only ... ok
[INFO] [stdout] test builtins::help_tests::help_no_args_lists_all ... ok
[INFO] [stdout] test builtins::help_tests::help_man_format ... ok
[INFO] [stdout] test builtins::help_tests::help_not_found ... ok
[INFO] [stdout] test builtins::hash_tests::hash_r_clears ... ok
[INFO] [stdout] test builtins::hash_tests::hash_t_missing_errors_status_1 ... ok
[INFO] [stdout] test builtins::help_tests::help_keyword_lookup_works ... ok
[INFO] [stdout] test builtins::hash_tests::hash_t_multi_name_tabs ... ok
[INFO] [stdout] test builtins::history_tests::history_invalid_option_errors ... ok
[INFO] [stdout] test builtins::history_tests::history_lists_numbered_entries ... ok
[INFO] [stdout] test builtins::integer_attr_tests::declare_i_existing_var_no_reeval ... ok
[INFO] [stdout] test builtins::integer_attr_tests::declare_i_marks_and_evals ... ok
[INFO] [stdout] test builtins::integer_attr_tests::declare_i_on_readonly_errors ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_integer_simple_arith ... ok
[INFO] [stdout] test builtins::help_tests::help_synopsis_only ... ok
[INFO] [stdout] test builtins::history_tests::history_dash_c_clears ... ok
[INFO] [stdout] test builtins::integer_attr_tests::declare_plus_i_unmarks ... ok
[INFO] [stdout] test builtins::integer_attr_tests::declare_ri_on_readonly_errors_without_corrupting_attrs ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_integer_invalid_silently_zero ... ok
[INFO] [stdout] test builtins::kill_tests::is_builtin_recognizes_kill ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_integer_with_var_ref ... ok
[INFO] [stdout] test builtins::kill_tests::kill_invalid_signal_name_returns_status_1 ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_readonly_checked_before_integer ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_invalid_number_errors_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_dash_sig_short_form_still_works_after_refactor ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_no_args_lists_all_16_signals ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_lowercase_name_returns_number ... ok
[INFO] [stdout] test builtins::kill_tests::kill_invalid_signal_number_returns_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_status_decode ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_integer_negative_result ... ok
[INFO] [stdout] test builtins::integer_attr_tests::try_set_non_integer_passes_through ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_with_sig_prefix_returns_number ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_multiple_args_decodes_each ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_with_name_returns_number ... ok
[INFO] [stdout] test builtins::kill_tests::kill_n_invalid_number_returns_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_no_args_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_n_with_number_resolves_and_dispatches ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_lowercase_name_resolves ... ok
[INFO] [stdout] test builtins::kill_tests::kill_n_missing_arg_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::help_tests::help_named_builtin_default_form ... ok
[INFO] [stdout] test builtins::kill_tests::kill_no_such_job_spec_returns_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_missing_arg_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_no_targets_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::help_tests::help_multi_name_partial_miss ... ok
[INFO] [stdout] test builtins::local_tests::local_outside_function_errors_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_invalid_name_returns_status_1 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_with_name_resolves_and_dispatches ... ok
[INFO] [stdout] test builtins::kill_tests::kill_s_with_sig_prefix_resolves ... ok
[INFO] [stdout] test builtins::kill_tests::kill_sig_flag_with_no_targets_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::kill_tests::kill_signal_zero_is_accepted_as_valid_numeric ... ok
[INFO] [stdout] test builtins::kill_tests::kill_unparseable_target_returns_status_1 ... ok
[INFO] [stdout] test builtins::local_tests::local_without_value_leaves_unset ... ok
[INFO] [stdout] test builtins::local_tests::local_with_value_sets_and_records_snapshot ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_caps_to_loop_depth ... ok
[INFO] [stdout] test builtins::kill_tests::signal_by_name_resolves_winch ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_non_numeric_exits_with_status_128 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_caps_to_loop_depth ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_outside_loop_errors_with_status_0 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_zero_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_negative_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::local_tests::local_snapshots_existing_var ... ok
[INFO] [stdout] test builtins::kill_tests::signal_by_name_table_recognizes_common_signals ... ok
[INFO] [stdout] test builtins::local_tests::local_idempotent_in_same_frame ... ok
[INFO] [stdout] test builtins::local_tests::local_invalid_identifier_errors ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_no_args_emits_level_1 ... ok
[INFO] [stdout] test builtins::pipefail_option_tests::pipefail_listed_in_shell_options ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_outside_loop_errors_with_status_0 ... ok
[INFO] [stdout] test builtins::pipefail_option_tests::pipefail_not_in_dollar_dash ... ok
[INFO] [stdout] test builtins::pipefail_option_tests::pipefail_option_round_trips ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_non_numeric_exits_with_status_128 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_too_many_args_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::continue_zero_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::pipefail_option_tests::shopt_bare_lists_all_57 ... ok
[INFO] [stdout] test builtins::printf_tests::escape_basic ... ok
[INFO] [stdout] test builtins::printf_tests::escape_octal ... ok
[INFO] [stdout] test builtins::printf_tests::escape_trailing_backslash ... ok
[INFO] [stdout] test builtins::pipefail_option_tests::shopt_o_lists_27 ... ok
[INFO] [stdout] test builtins::printf_tests::format_b_arg_escapes ... ok
[INFO] [stdout] test builtins::printf_tests::escape_hex ... ok
[INFO] [stdout] test builtins::printf_tests::escape_unknown_preserved ... ok
[INFO] [stdout] test builtins::printf_tests::format_s_left_align ... ok
[INFO] [stdout] test builtins::printf_tests::format_d_basic ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_too_many_args_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::printf_tests::format_s_precision_truncates ... ok
[INFO] [stdout] test builtins::printf_tests::format_d_precision_zero_with_value_zero_emits_empty ... ok
[INFO] [stdout] test builtins::printf_tests::format_s_width ... ok
[INFO] [stdout] test builtins::printf_tests::format_d_zero_pad ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_unknown_name_errors_status_1 ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_no_args_emits_level_1_status_0 ... ok
[INFO] [stdout] test builtins::printf_tests::format_x_alt_form ... ok
[INFO] [stdout] test builtins::printf_tests::format_s_basic ... ok
[INFO] [stdout] test builtins::printf_tests::parse_format_literal_only ... ok
[INFO] [stdout] test builtins::printf_tests::parse_format_flags_width_prec ... ok
[INFO] [stdout] test builtins::printf_tests::parse_format_simple_conv ... ok
[INFO] [stdout] test builtins::printf_tests::parse_printf_int_char_literal ... ok
[INFO] [stdout] test builtins::printf_tests::parse_printf_int_decimal ... ok
[INFO] [stdout] test builtins::printf_tests::parse_printf_int_trailing_garbage ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_basic ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_eof_partial_returns_some ... ok
[INFO] [stdout] test builtins::kill_tests::kill_l_with_number_returns_name ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_negative_breaks_all_loops_status_1 ... ok
[INFO] [stdout] test builtins::printf_tests::parse_printf_int_negative_hex_octal ... ok
[INFO] [stdout] test builtins::loop_levels_tests::break_with_arg_n_emits_level_n_when_in_loop ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_custom_delim ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_eof_returns_none ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_escape_removal ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_line_continuation ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_nul_delim ... ok
[INFO] [stdout] test builtins::read_tests::read_one_line_raw_preserves_backslash ... ok
[INFO] [stdout] test builtins::read_tests::read_one_record_unterminated_last ... ok
[INFO] [stdout] test builtins::read_tests::read_one_record_newline_delim ... ok
[INFO] [stdout] test builtins::read_tests::split_into_names_custom_ifs_colon ... ok
[INFO] [stdout] test builtins::read_tests::split_into_names_more_names_than_fields ... ok
[INFO] [stdout] test builtins::read_tests::split_into_names_single_name_strip_ws ... ok
[INFO] [stdout] test builtins::read_tests::split_into_names_multi_simple ... ok
[INFO] [stdout] test builtins::read_tests::split_read_fields_default_ws ... ok
[INFO] [stdout] test builtins::read_tests::split_read_fields_mixed_and_empty_ifs ... ok
[INFO] [stdout] test builtins::readonly_tests::export_readonly_value_errors_but_bare_export_succeeds ... ok
[INFO] [stdout] test builtins::readonly_tests::export_set_preserves_readonly_flag_on_existing_var ... ok
[INFO] [stdout] test builtins::read_tests::split_read_fields_nonws_ifs ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_multi_arg_mixed_forms ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_dash_p_same_as_no_args ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_listing_no_args ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_no_value_creates_empty_and_locks ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_no_value_keeps_existing_value ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_invalid_identifier_errors ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_overwrite_existing_readonly_errors ... ok
[INFO] [stdout] test builtins::set_options_tests::set_dash_c_enables_noclobber ... ok
[INFO] [stdout] test builtins::set_options_tests::set_dash_dash_resets_positional ... ok
[INFO] [stdout] test builtins::set_options_tests::set_dash_eo_cluster_consumes_next_arg_as_name ... ok
[INFO] [stdout] test builtins::readonly_tests::readonly_with_value_sets_and_locks ... ok
[INFO] [stdout] test builtins::set_options_tests::set_invalid_o_name_errors ... ok
[INFO] [stdout] test builtins::readonly_tests::unset_readonly_errors_status_1 ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_enable_unknown_name_is_invalid ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_errexit_long_form ... ok
[INFO] [stdout] test builtins::set_options_tests::set_eu_cluster ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_listing_shows_state ... ok
[INFO] [stdout] test builtins::set_options_tests::set_dollar_dash_reflects_flags ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_noclobber_enables ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_lists_full_27_name_table_tab_format ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_reflects_real_state_for_implemented ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_xtrace_long_form_enables ... ok
[INFO] [stdout] test builtins::set_options_tests::option_set_xtrace_round_trips ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_verbose_long_form_enables ... ok
[INFO] [stdout] test builtins::set_options_tests::set_plus_c_disables_noclobber ... ok
[INFO] [stdout] test builtins::set_options_tests::set_plus_o_listing_reinput_form ... ok
[INFO] [stdout] test builtins::set_options_tests::set_plus_eo_cluster_consumes_next_arg_as_name ... ok
[INFO] [stdout] test builtins::set_options_tests::set_plus_e_disables ... ok
[INFO] [stdout] test builtins::set_options_tests::set_x_short_flag_toggles_xtrace ... ok
[INFO] [stdout] test builtins::set_options_tests::set_v_short_flag_toggles_verbose ... ok
[INFO] [stdout] test builtins::set_tests::set_bare_args_replaces_positional ... ok
[INFO] [stdout] test builtins::set_tests::set_double_dash_alone_clears_positional ... ok
[INFO] [stdout] test builtins::set_tests::set_dash_x_enables_xtrace ... ok
[INFO] [stdout] test builtins::set_options_tests::set_o_enable_unimplemented_says_not_supported ... ok
[INFO] [stdout] test builtins::set_tests::set_double_dash_with_args_replaces ... ok
[INFO] [stdout] test builtins::set_tests::set_no_args_lists_sorted_vars ... ok
[INFO] [stdout] test builtins::set_tests::set_plus_x_disables_xtrace ... ok
[INFO] [stdout] test builtins::shift_tests::shift_no_args_removes_first ... ok
[INFO] [stdout] test builtins::source_tests::is_special_builtin_includes_dot_and_source ... ok
[INFO] [stdout] test builtins::shift_tests::shift_zero_is_noop ... ok
[INFO] [stdout] test builtins::shift_tests::shift_too_large_errors_status_1 ... ok
[INFO] [stdout] test builtins::shift_tests::shift_negative_errors_status_1 ... ok
[INFO] [stdout] test builtins::special_builtin_tests::is_special_builtin_recognises_posix_specials ... ok
[INFO] [stdout] test builtins::source_tests::source_depth_limit_errors_status_1 ... ok
[INFO] [stdout] test builtins::shift_tests::shift_non_numeric_errors_status_1 ... ok
[INFO] [stdout] test builtins::source_tests::source_no_args_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::shift_tests::shift_n_removes_n ... ok
[INFO] [stdout] test builtins::source_tests::source_missing_file_errors_status_1 ... ok
[INFO] [stdout] test builtins::source_tests::is_builtin_recognises_dot_and_source ... ok
[INFO] [stdout] test builtins::set_options_tests::set_plus_o_errexit_disables ... ok
[INFO] [stdout] test builtins::shift_tests::shift_default_when_no_args_equals_one ... ok
[INFO] [stdout] test builtins::special_builtin_tests::trap_err_pseudo_signal_registers ... ok
[INFO] [stdout] test builtins::special_builtin_tests::trap_debug_pseudo_signal_registers ... ok
[INFO] [stdout] test builtins::special_builtin_tests::is_special_builtin_rejects_regular_builtins ... ok
[INFO] [stdout] test builtins::special_builtin_tests::trap_p_lists_pseudo_signals_in_order ... ok
[INFO] [stdout] test builtins::special_builtin_tests::is_special_builtin_rejects_unknowns ... ok
[INFO] [stdout] test builtins::special_builtin_tests::trap_return_pseudo_signal_registers ... ok
[INFO] [stdout] test builtins::tests::builtin_bracket_empty_is_error ... ok
[INFO] [stdout] test builtins::tests::builtin_bracket_missing_close_is_error ... ok
[INFO] [stdout] test builtins::tests::builtin_bracket_strips_trailing_bracket ... ok
[INFO] [stdout] test builtins::tests::bare_export_uses_declare_x_format ... ok
[INFO] [stdout] test builtins::tests::builtin_break_returns_loop_break ... ok
[INFO] [stdout] test builtins::tests::builtin_names_const_matches_is_builtin ... ok
[INFO] [stdout] test builtins::tests::builtin_return_invalid_arg_falls_back_to_last_status ... ok
[INFO] [stdout] test builtins::tests::builtin_return_with_arg_returns_function_return ... ok
[INFO] [stdout] test builtins::tests::builtin_return_no_arg_returns_last_status ... ok
[INFO] [stdout] test builtins::tests::echo_capital_e_keeps_backslashes_literal ... ok
[INFO] [stdout] test builtins::tests::builtin_test_false_expression ... ok
[INFO] [stdout] test builtins::tests::builtin_continue_returns_loop_continue ... ok
[INFO] [stdout] test builtins::tests::declare_fx_no_names_lists_via_runtime_path ... ok
[INFO] [stdout] test builtins::tests::builtin_test_true_expression ... ok
[INFO] [stdout] test builtins::tests::builtin_test_usage_error ... ok
[INFO] [stdout] test builtins::tests::echo_combined_ne_flag ... ok
[INFO] [stdout] test builtins::tests::echo_default_keeps_backslashes_literal ... ok
[INFO] [stdout] test builtins::tests::declare_fx_marks_via_runtime_path ... ok
[INFO] [stdout] test builtins::tests::echo_e_c_escape_terminates_output ... ok
[INFO] [stdout] test builtins::tests::echo_e_hex_escape ... ok
[INFO] [stdout] test builtins::tests::echo_e_octal_escape ... ok
[INFO] [stdout] test builtins::tests::echo_e_processes_basic_escapes ... ok
[INFO] [stdout] test builtins::tests::echo_e_then_capital_e_disables_escapes ... ok
[INFO] [stdout] test builtins::tests::echo_double_dash_is_literal ... ok
[INFO] [stdout] test builtins::tests::echo_n_suppresses_trailing_newline ... ok
[INFO] [stdout] test builtins::tests::echo_single_dash_is_literal ... ok
[INFO] [stdout] test builtins::tests::echo_with_no_args_writes_a_blank_line ... ok
[INFO] [stdout] test builtins::tests::exit_masks_exact_256_to_zero ... ok
[INFO] [stdout] test builtins::tests::echo_e_unknown_escape_keeps_backslash ... ok
[INFO] [stdout] test builtins::tests::echo_non_flag_arg_stops_flag_parsing ... ok
[INFO] [stdout] test builtins::tests::echo_unknown_flag_is_literal ... ok
[INFO] [stdout] test builtins::tests::exit_masks_value_greater_than_255 ... ok
[INFO] [stdout] test builtins::tests::echo_writes_args_joined_by_spaces ... ok
[INFO] [stdout] test builtins::tests::echo_n_alone_writes_nothing ... ok
[INFO] [stdout] test builtins::tests::exit_masks_negative_value ... ok
[INFO] [stdout] test builtins::tests::exit_with_bad_code_continues ... ok
[INFO] [stdout] test builtins::tests::export_invalid_name_continues_with_error ... ok
[INFO] [stdout] test builtins::read_tests::read_one_record_custom_delim_keeps_other_bytes ... ok
[INFO] [stdout] test builtins::tests::exit_with_code ... ok
[INFO] [stdout] test builtins::tests::exit_with_no_args ... ok
[INFO] [stdout] test builtins::tests::export_a_bare_no_listing ... ok
[INFO] [stdout] test builtins::tests::export_f_bare_no_listing ... ok
[INFO] [stdout] test builtins::tests::export_f_does_not_create_variable ... ok
[INFO] [stdout] test builtins::tests::builtin_names_includes_history ... ok
[INFO] [stdout] test builtins::tests::export_f_not_a_function_rc1 ... ok
[INFO] [stdout] test builtins::tests::export_f_marks_existing_function ... ok
[INFO] [stdout] test builtins::tests::export_invalid_flag_rc2 ... ok
[INFO] [stdout] test builtins::tests::help_topic_names_nonempty ... ok
[INFO] [stdout] test builtins::tests::is_builtin_recognizes_builtins ... ok
[INFO] [stdout] test builtins::tests::export_n_unexports_keeps_value ... ok
[INFO] [stdout] test builtins::tests::is_builtin_recognizes_jobs_and_wait ... ok
[INFO] [stdout] test builtins::tests::export_n_unset_name_is_noop ... ok
[INFO] [stdout] test builtins::tests::is_builtin_trap ... ok
[INFO] [stdout] test builtins::tests::export_n_with_assignment_sets_then_unexports ... ok
[INFO] [stdout] test builtins::tests::is_special_builtin_trap ... ok
[INFO] [stdout] test builtins::tests::export_nf_unexports_function ... ok
[INFO] [stdout] test builtins::tests::export_p_lists_in_declare_x_format ... ok
[INFO] [stdout] test builtins::tests::export_p_with_operand_exports_it_no_listing ... ok
[INFO] [stdout] test builtins::tests::export_name_only_creates_empty_exported ... ok
[INFO] [stdout] test builtins::tests::export_sets_and_exports ... ok
[INFO] [stdout] test builtins::tests::jobs_invalid_flag_returns_usage_status_2 ... ok
[INFO] [stdout] test builtins::tests::jobs_p_overrides_l ... ok
[INFO] [stdout] test builtins::tests::jobs_l_includes_pid_for_single_stage ... ok
[INFO] [stdout] test builtins::tests::jobs_p_prints_pgids_only ... ok
[INFO] [stdout] test builtins::tests::jobs_l_multistage_shows_all_pids ... ok
[INFO] [stdout] test builtins::tests::jobs_positional_spec_filters_to_target ... ok
[INFO] [stdout] test builtins::tests::jobs_lists_stopped_without_ampersand_suffix ... ok
[INFO] [stdout] test builtins::tests::jobs_r_filters_running ... ok
[INFO] [stdout] test builtins::tests::jobs_lists_synthetic_done_entry ... ok
[INFO] [stdout] test builtins::tests::jobs_s_filters_stopped ... ok
[INFO] [stdout] test builtins::tests::jobs_n_filters_notified_false_and_marks ... ok
[INFO] [stdout] test builtins::tests::jobs_with_empty_table_prints_nothing_and_returns_zero ... ok
[INFO] [stdout] test builtins::tests::pwd_writes_the_current_directory ... ok
[INFO] [stdout] test builtins::tests::seto_option_names_includes_errexit_in_table_order ... ok
[INFO] [stdout] test builtins::tests::printf_q_quoting ... ok
[INFO] [stdout] test builtins::tests::signal_names_are_sig_prefixed_and_exclude_pseudo ... ok
[INFO] [stdout] test builtins::tests::export_marks_existing ... ok
[INFO] [stdout] test builtins::tests::trap_dash_resets_signal ... ok
[INFO] [stdout] test builtins::tests::trap_empty_action_ignores_signal ... ok
[INFO] [stdout] test builtins::tests::trap_exit_action_signal_registers ... ok
[INFO] [stdout] test builtins::tests::trap_l_lists_signals ... ok
[INFO] [stdout] test builtins::tests::trap_kill_signal_errors_uncatchable ... ok
[INFO] [stdout] test builtins::tests::trap_no_args_same_as_dash_p ... ok
[INFO] [stdout] test builtins::tests::trap_no_signals_errors_status_1 ... ok
[INFO] [stdout] test builtins::tests::trap_p_prints_active_traps_in_re_readable_form ... ok
[INFO] [stdout] test builtins::tests::trap_unknown_signal_errors_status_1 ... ok
[INFO] [stdout] test builtins::tests::unset_invalid_name_is_error ... ok
[INFO] [stdout] test builtins::tests::unset_removes_variable ... ok
[INFO] [stdout] test builtins::tests::unset_unknown_name_is_silent_ok ... ok
[INFO] [stdout] test builtins::tests::wait_with_no_jobs_returns_zero_immediately ... ok
[INFO] [stdout] test builtins::true_false_tests::false_exits_one ... ok
[INFO] [stdout] test builtins::true_false_tests::true_and_false_ignore_args ... ok
[INFO] [stdout] test builtins::true_false_tests::true_exits_zero ... ok
[INFO] [stdout] test builtins::type_tests::type_a_alias_and_builtin ... ok
[INFO] [stdout] test builtins::type_tests::type_default_function ... ok
[INFO] [stdout] test builtins::type_tests::type_default_keyword ... ok
[INFO] [stdout] test builtins::type_tests::type_capital_p_force_path ... ok
[INFO] [stdout] test builtins::type_tests::type_default_not_found ... ok
[INFO] [stdout] test builtins::type_tests::type_default_alias ... ok
[INFO] [stdout] test builtins::type_tests::type_f_skips_function ... ok
[INFO] [stdout] test builtins::type_tests::type_invalid_option_status_2 ... ok
[INFO] [stdout] test builtins::type_tests::type_multi_name_first_found_second_missing ... ok
[INFO] [stdout] test builtins::type_tests::type_p_builtin_silent ... ok
[INFO] [stdout] test builtins::type_tests::type_t_builtin ... ok
[INFO] [stdout] test builtins::type_tests::type_t_function ... ok
[INFO] [stdout] test builtins::type_tests::type_t_keyword ... ok
[INFO] [stdout] test command::tests::all_newline_buffer_is_none ... ok
[INFO] [stdout] test builtins::type_tests::type_t_not_found_silent ... ok
[INFO] [stdout] test command::tests::bang_inside_test_command_is_an_argument_not_negation ... ok
[INFO] [stdout] test command::tests::bare_for_is_not_wrapped ... ok
[INFO] [stdout] test command::tests::brace_group_with_trailing_redirect_wraps ... ok
[INFO] [stdout] test command::tests::dbracket_eof_after_and_is_unterminated ... ok
[INFO] [stdout] test command::tests::dbracket_eof_after_binop_is_unterminated ... ok
[INFO] [stdout] test builtins::type_tests::type_default_builtin ... ok
[INFO] [stdout] test command::tests::dbracket_eof_after_open_is_unterminated ... ok
[INFO] [stdout] test command::tests::dbracket_missing_operand_with_close_is_error ... ok
[INFO] [stdout] test command::tests::function_as_assignment_var_still_works ... ok
[INFO] [stdout] test command::tests::function_body_can_be_arith_for_loop ... ok
[INFO] [stdout] test command::tests::function_body_can_be_standalone_arith ... ok
[INFO] [stdout] test command::tests::function_in_arg_position_still_works ... ok
[INFO] [stdout] test command::tests::function_keyword_bad_body_errors ... ok
[INFO] [stdout] test command::tests::function_keyword_form_brace_body ... ok
[INFO] [stdout] test command::tests::function_keyword_form_compound_body_no_braces ... ok
[INFO] [stdout] test command::tests::function_keyword_form_double_bracket_body ... ok
[INFO] [stdout] test command::tests::function_keyword_form_subshell_body ... ok
[INFO] [stdout] test command::tests::function_keyword_missing_body_errors ... ok
[INFO] [stdout] test command::tests::function_keyword_form_with_parens ... ok
[INFO] [stdout] test command::tests::function_keyword_unbalanced_parens_errors ... ok
[INFO] [stdout] test command::tests::if_with_no_body_at_end_of_input_is_unterminated ... ok
[INFO] [stdout] test command::tests::function_keyword_form_with_parens_and_spaces ... ok
[INFO] [stdout] test command::tests::function_keyword_form_newline_before_body ... ok
[INFO] [stdout] test command::tests::multi_assign_then_pipeline_then_and_then_next_cmd_preserves_next ... ok
[INFO] [stdout] test command::tests::multi_assign_then_pipeline_then_semi_then_next_cmd_preserves_next ... ok
[INFO] [stdout] test command::tests::leading_newlines_are_skipped ... ok
[INFO] [stdout] test command::tests::function_keyword_no_name_errors ... ok
[INFO] [stdout] test command::tests::multiline_while_parses ... ok
[INFO] [stdout] test command::tests::function_posix_form_double_bracket_body ... ok
[INFO] [stdout] test command::tests::multiline_if_parses_same_as_singleline ... ok
[INFO] [stdout] test command::tests::newline_after_pipe_continues_pipeline ... ok
[INFO] [stdout] test command::tests::function_keyword_keyword_name_errors ... ok
[INFO] [stdout] test command::tests::parse_amp_separator_then_trailing_amp ... ok
[INFO] [stdout] test command::tests::parse_and_redir_append_desugars ... ok
[INFO] [stdout] test command::tests::parse_and_redir_out_desugars ... ok
[INFO] [stdout] test command::tests::parse_and_sequence ... ok
[INFO] [stdout] test command::tests::parse_and_then_bg_is_backgrounded_sequence ... ok
[INFO] [stdout] test command::tests::parse_andor_then_trailing_amp_single_group ... ok
[INFO] [stdout] test command::tests::newline_separates_top_level_commands ... ok
[INFO] [stdout] test command::tests::parse_arith_for_all_empty_sections ... ok
[INFO] [stdout] test command::tests::newline_after_then_is_skipped ... ok
[INFO] [stdout] test command::tests::parse_arith_for_bad_arith_in_section_parses_deferred ... ok
[INFO] [stdout] test command::tests::parse_arith_for_full_header ... ok
[INFO] [stdout] test command::tests::parse_arith_for_missing_do_errors ... ok
[INFO] [stdout] test command::tests::parse_arith_for_newline_before_do ... ok
[INFO] [stdout] test command::tests::parse_arith_for_only_cond ... ok
[INFO] [stdout] test command::tests::parse_arith_for_only_init ... ok
[INFO] [stdout] test command::tests::parse_arith_for_only_step ... ok
[INFO] [stdout] test command::tests::parse_arith_for_two_sections_errors ... ok
[INFO] [stdout] test command::tests::parse_arith_for_semicolon_before_do ... ok
[INFO] [stdout] test command::tests::parse_assign_only_multiple_vars ... ok
[INFO] [stdout] test command::tests::parse_assign_only_single_var_still_works ... ok
[INFO] [stdout] test command::tests::parse_assignment_with_redirect_is_exec ... ok
[INFO] [stdout] test command::tests::parse_assignment_before_compound_command_errors ... ok
[INFO] [stdout] test command::tests::parse_assignment_invalid_name_is_exec ... ok
[INFO] [stdout] test command::tests::parse_assignment_with_arg_is_exec ... ok
[INFO] [stdout] test command::tests::parse_assignment_with_command_sub_value_moves_parts ... ok
[INFO] [stdout] test command::tests::parse_assignment_with_expansion_in_value ... ok
[INFO] [stdout] test command::tests::parse_assignment_in_pipeline_stage ... ok
[INFO] [stdout] test command::tests::parse_background_alone_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_background_mid_sequence_after_andor_is_amp_separator ... ok
[INFO] [stdout] test command::tests::parse_bare_do_is_unexpected_keyword ... ok
[INFO] [stdout] test command::tests::parse_background_mid_sequence_is_amp_separator ... ok
[INFO] [stdout] test command::tests::parse_brace_group_multiline_matches_singleline ... ok
[INFO] [stdout] test command::tests::parse_bare_fi_is_unexpected_keyword ... ok
[INFO] [stdout] test command::tests::parse_bare_then_is_unexpected_keyword ... ok
[INFO] [stdout] test command::tests::parse_brace_group_simple ... ok
[INFO] [stdout] test command::tests::parse_brace_group_unterminated ... ok
[INFO] [stdout] test command::tests::parse_case_alternation ... ok
[INFO] [stdout] test command::tests::parse_bare_done_is_unexpected_keyword ... ok
[INFO] [stdout] test command::tests::parse_case_empty ... ok
[INFO] [stdout] test command::tests::parse_case_empty_body ... ok
[INFO] [stdout] test command::tests::parse_case_leading_paren ... ok
[INFO] [stdout] test command::tests::parse_case_omitted_final_terminator ... ok
[INFO] [stdout] test command::tests::parse_case_terminators ... ok
[INFO] [stdout] test command::tests::parse_case_malformed_pattern_list_errors ... ok
[INFO] [stdout] test command::tests::parse_dbracket_bareword_grouped ... ok
[INFO] [stdout] test command::tests::parse_case_unterminated_is_unterminated_case ... ok
[INFO] [stdout] test command::tests::parse_dbracket_bareword_single ... ok
[INFO] [stdout] test command::tests::parse_dbracket_bareword_not ... ok
[INFO] [stdout] test command::tests::parse_case_multiline_matches_singleline ... ok
[INFO] [stdout] test command::tests::parse_clobber_stderr ... ok
[INFO] [stdout] test command::tests::parse_clobber_stdout ... ok
[INFO] [stdout] test command::tests::parse_combined_dup_and_file_redirect ... ok
[INFO] [stdout] test command::tests::parse_dbracket_grouped ... ok
[INFO] [stdout] test command::tests::parse_command_with_background ... ok
[INFO] [stdout] test command::tests::parse_dbracket_and ... ok
[INFO] [stdout] test command::tests::parse_dbracket_empty_errors ... ok
[INFO] [stdout] test command::tests::parse_dbracket_bareword_and ... ok
[INFO] [stdout] test command::tests::parse_dbracket_integer_compare ... ok
[INFO] [stdout] test command::tests::parse_dbracket_integer_gt ... ok
[INFO] [stdout] test command::tests::parse_dbracket_not ... ok
[INFO] [stdout] test command::tests::parse_dbracket_operator_still_wins ... ok
[INFO] [stdout] test command::tests::parse_dbracket_or ... ok
[INFO] [stdout] test command::tests::parse_dbracket_regex ... ok
[INFO] [stdout] test command::tests::parse_dbracket_string_eq_pattern ... ok
[INFO] [stdout] test command::tests::parse_dbracket_string_eq_literal ... ok
[INFO] [stdout] test command::tests::parse_dbracket_string_lex_lt ... ok
[INFO] [stdout] test command::tests::parse_dbracket_string_eq_single_equals ... ok
[INFO] [stdout] test command::tests::parse_dbracket_string_ne ... ok
[INFO] [stdout] test command::tests::parse_dbracket_unary_file ... ok
[INFO] [stdout] test command::tests::parse_dbracket_unterminated_errors ... ok
[INFO] [stdout] test command::tests::parse_dbracket_unary_string_empty ... ok
[INFO] [stdout] test command::tests::parse_dbracket_with_inline_assignment ... ok
[INFO] [stdout] test command::tests::parse_double_sequencing_op_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_double_pipe_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_dup_stderr_from_fd1 ... ok
[INFO] [stdout] test command::tests::parse_dup_in_pipeline_stage ... ok
[INFO] [stdout] test command::tests::parse_dup_stdout_from_fd2 ... ok
[INFO] [stdout] test command::tests::parse_for_invalid_variable_name_errors ... ok
[INFO] [stdout] test command::tests::parse_dup_with_var_target ... ok
[INFO] [stdout] test command::tests::parse_for_keyword_as_variable_errors ... ok
[INFO] [stdout] test command::tests::parse_for_keyword_words_in_list ... ok
[INFO] [stdout] test command::tests::parse_empty_returns_none ... ok
[INFO] [stdout] test command::tests::parse_for_in_on_next_line ... ok
[INFO] [stdout] test command::tests::parse_for_do_terminates_word_list ... ok
[INFO] [stdout] test command::tests::parse_empty_value_assignment ... ok
[INFO] [stdout] test command::tests::parse_for_no_in_has_empty_words ... ok
[INFO] [stdout] test command::tests::parse_for_empty_in_list ... ok
[INFO] [stdout] test command::tests::parse_for_multiline_matches_singleline ... ok
[INFO] [stdout] test command::tests::parse_function_missing_close_paren ... ok
[INFO] [stdout] test command::tests::parse_function_pipeline_body_errors ... ok
[INFO] [stdout] test command::tests::parse_function_nested_def_body_errors ... ok
[INFO] [stdout] test command::tests::parse_function_with_if_body ... ok
[INFO] [stdout] test command::tests::parse_here_string_attaches_to_stdin ... ok
[INFO] [stdout] test command::tests::parse_here_string_in_pipeline_stage ... ok
[INFO] [stdout] test command::tests::parse_for_operator_in_word_list_errors ... ok
[INFO] [stdout] test command::tests::parse_for_unterminated_is_unterminated_loop ... ok
[INFO] [stdout] test command::tests::parse_function_def_followed_by_call ... ok
[INFO] [stdout] test command::tests::parse_function_def_without_body_is_unterminated ... ok
[INFO] [stdout] test command::tests::parse_function_invalid_name ... ok
[INFO] [stdout] test command::tests::parse_here_string_last_wins_over_file ... ok
[INFO] [stdout] test command::tests::parse_here_string_last_wins_over_heredoc ... ok
[INFO] [stdout] test command::tests::parse_here_string_missing_word_errors ... ok
[INFO] [stdout] test command::tests::parse_heredoc_in_pipeline_stage ... ok
[INFO] [stdout] test command::tests::parse_heredoc_last_wins_over_file_redirect ... ok
[INFO] [stdout] test command::tests::parse_if_unterminated_is_error ... ok
[INFO] [stdout] test command::tests::parse_if_condition_with_background_is_accepted ... ok
[INFO] [stdout] test command::tests::parse_heredoc_redirect_attaches_to_command ... ok
[INFO] [stdout] test command::tests::parse_if_elif_else ... ok
[INFO] [stdout] test command::tests::parse_if_else ... ok
[INFO] [stdout] test command::tests::parse_if_empty_condition_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_if_followed_by_command ... ok
[INFO] [stdout] test command::tests::parse_if_joined_with_and ... ok
[INFO] [stdout] test command::tests::parse_if_missing_then_is_error ... ok
[INFO] [stdout] test command::tests::parse_if_with_andor_condition ... ok
[INFO] [stdout] test command::tests::parse_invalid_identifier_lhs_is_not_assignment ... ok
[INFO] [stdout] test command::tests::parse_inline_assignments_collect_into_exec ... ok
[INFO] [stdout] test command::tests::parse_if_multi_command_body ... ok
[INFO] [stdout] test command::tests::parse_leading_semicolon_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_keyword_as_argument_is_literal ... ok
[INFO] [stdout] test command::tests::parse_keyword_while_as_argument_is_literal ... ok
[INFO] [stdout] test command::tests::parse_long_chain_bg ... ok
[INFO] [stdout] test command::tests::parse_multiple_heredocs_keep_last ... ok
[INFO] [stdout] test command::tests::parse_pipeline_rejects_nested_multi_stage ... ignored, TODO(M-11): subshell syntax `(list)` not yet lexed; nested multi-stage pipeline-as-stage can't be triggered today. Guard exists for future correctness.
[INFO] [stdout] test command::tests::parse_pipeline_with_brace_group_stage ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_brace_group_as_first_stage ... ok
[INFO] [stdout] test arith::tests::comma_side_effect_ordering ... ok
[INFO] [stdout] test command::tests::parse_leading_pipe_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_mid_command_assignment_word_stays_literal ... ok
[INFO] [stdout] test command::tests::parse_nested_if ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_for_stage ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_for_as_first_stage ... ok
[INFO] [stdout] test command::tests::parse_nested_while ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_function_call_stage ... ok
[INFO] [stdout] test command::tests::parse_one_unit_keeps_multiline_if_as_one_unit ... ok
[INFO] [stdout] test command::tests::parse_one_unit_keeps_semicolon_list_and_andor_together ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_if_stage ... ok
[INFO] [stdout] test command::tests::parse_one_unit_splits_on_top_level_newline ... ok
[INFO] [stdout] test command::tests::parse_or_sequence ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_if_as_first_stage ... ok
[INFO] [stdout] test command::tests::parse_pipeline_backgrounded ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_while_as_first_stage ... ok
[INFO] [stdout] test command::tests::parse_redirect_in ... ok
[INFO] [stdout] test command::tests::parse_program_only ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_while_stage ... ok
[INFO] [stdout] test command::tests::parse_program_with_args ... ok
[INFO] [stdout] test command::tests::parse_redirect_out ... ok
[INFO] [stdout] test command::tests::parse_redirect_append ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_case_as_first_stage ... ok
[INFO] [stdout] test command::tests::parse_redirect_stderr ... ok
[INFO] [stdout] test command::tests::parse_redirect_target_is_operator_is_error ... ok
[INFO] [stdout] test command::tests::parse_pipeline_with_case_stage ... ok
[INFO] [stdout] test command::tests::parse_redirect_without_target_is_error ... ok
[INFO] [stdout] test command::tests::parse_redirect_stderr_append ... ok
[INFO] [stdout] test command::tests::parse_redirect_without_program_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_semi_chain_bg_is_backgrounded_sequence ... ok
[INFO] [stdout] test command::tests::parse_semicolon_sequence ... ok
[INFO] [stdout] test command::tests::parse_simple_assignment ... ok
[INFO] [stdout] test command::tests::parse_simple_case ... ok
[INFO] [stdout] test command::tests::parse_simple_function_def ... ok
[INFO] [stdout] test command::tests::parse_simple_for ... ok
[INFO] [stdout] test command::tests::parse_standalone_arith_with_bad_expr_parses_deferred ... ok
[INFO] [stdout] test command::tests::parse_standalone_arith_command ... ok
[INFO] [stdout] test command::tests::parse_simple_if ... ok
[INFO] [stdout] test command::tests::parse_subshell_empty_errors ... ok
[INFO] [stdout] test command::tests::parse_subshell_nested ... ok
[INFO] [stdout] test command::tests::parse_subshell_does_not_conflict_with_function_def ... ok
[INFO] [stdout] test command::tests::parse_subshell_with_inner_background ... ok
[INFO] [stdout] test command::tests::parse_subshell_simple ... ok
[INFO] [stdout] test command::tests::parse_subshell_with_inner_background_and_sequence ... ok
[INFO] [stdout] test command::tests::parse_trailing_keyword_after_if_is_unexpected_keyword ... ok
[INFO] [stdout] test command::tests::parse_three_stage_pipeline ... ok
[INFO] [stdout] test command::tests::parse_subshell_with_sequence ... ok
[INFO] [stdout] test command::tests::parse_trailing_and_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_trailing_pipe_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_subshell_with_and_or ... ok
[INFO] [stdout] test command::tests::parse_subshell_unterminated_errors ... ok
[INFO] [stdout] test command::tests::parse_two_backgrounds_is_unexpected ... ok
[INFO] [stdout] test command::tests::parse_trailing_semicolon_is_allowed ... ok
[INFO] [stdout] test command::tests::parse_until_sets_flag ... ok
[INFO] [stdout] test command::tests::parse_two_stage_pipeline ... ok
[INFO] [stdout] test command::tests::parse_while_background_in_body_is_accepted ... ok
[INFO] [stdout] test command::tests::parse_while_followed_by_command ... ok
[INFO] [stdout] test command::tests::parse_while_empty_condition_is_missing_command ... ok
[INFO] [stdout] test command::tests::parse_while_with_if_body ... ok
[INFO] [stdout] test command::tests::parse_while_andor_condition ... ok
[INFO] [stdout] test command::tests::parses_bang_before_if_wraps ... ok
[INFO] [stdout] test command::tests::parse_while_missing_do_is_error ... ok
[INFO] [stdout] test command::tests::parse_while_multi_command_body ... ok
[INFO] [stdout] test command::tests::parse_while_unterminated_is_error ... ok
[INFO] [stdout] test command::tests::parses_bang_pipeline_negates_whole ... ok
[INFO] [stdout] test command::tests::parses_bang_simple_negates ... ok
[INFO] [stdout] test command::tests::parses_select_with_in ... ok
[INFO] [stdout] test command::tests::parses_double_bang_cancels ... ok
[INFO] [stdout] test command::tests::stray_close_paren_is_error ... ok
[INFO] [stdout] test command::tests::parses_select_empty_in_is_some_empty ... ok
[INFO] [stdout] test command::tests::plain_sequence_element_is_not_a_multistage_pipeline ... ok
[INFO] [stdout] test command::tests::parses_select_without_in_is_none ... ok
[INFO] [stdout] test command::tests::stray_double_semi_amp_is_error ... ok
[INFO] [stdout] test command::tests::stray_open_paren_is_error ... ok
[INFO] [stdout] test command::tests::stray_semi_amp_is_error ... ok
[INFO] [stdout] test builtins::set_options_tests::set_e_enables_errexit ... ok
[INFO] [stdout] test command::tests::stray_word_after_compound_errors_without_panic ... ok
[INFO] [stdout] test command::tests::trailing_semicolon_then_newline_is_not_an_error ... ok
[INFO] [stdout] test command::tests::stray_double_semi_is_error ... ok
[INFO] [stdout] test command::tests::while_with_no_body_at_end_of_input_is_unterminated ... ok
[INFO] [stdout] test command::tests::stray_open_paren_after_pipeline_args_is_error ... ok
[INFO] [stdout] test builtins::tests::builtin_export_string_path_delegates ... ok
[INFO] [stdout] test command::tests::subshell_pipe_after_semi_wraps_in_pipeline ... ok
[INFO] [stdout] test command::tests::while_with_trailing_heredoc_wraps ... ok
[INFO] [stdout] test command::tests::parse_simple_while ... ok
[INFO] [stdout] test command::tests::parse_subshell_as_pipeline_first_stage ... ok
[INFO] [stdout] test command::tests::parse_subshell_as_pipeline_later_stage ... ok
[INFO] [stdout] test completion::tests::analyze_after_do_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_else_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_elif_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_open_brace_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_pipe_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_then_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_semicolon_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_after_assignment_word_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_empty_line_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_command_with_slash_is_file ... ok
[INFO] [stdout] test completion::tests::analyze_escaped_dollar_is_not_variable ... ok
[INFO] [stdout] test completion::tests::analyze_after_command_is_file ... ok
[INFO] [stdout] test completion::tests::analyze_after_fi_keyword_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_escaped_space_stays_in_word ... ok
[INFO] [stdout] test completion::tests::analyze_first_word_is_command ... ok
[INFO] [stdout] test completion::tests::analyze_full_reports_word_start_for_slash_word ... ok
[INFO] [stdout] test builtins::tests::export_f_no_operands_lists_functions ... ok
[INFO] [stdout] test completion::tests::analyze_full_word_start_equals_start_without_slash ... ok
[INFO] [stdout] test completion::tests::analyze_ignores_text_after_cursor ... ok
[INFO] [stdout] test completion::tests::analyze_redirect_target_is_file_not_command ... ok
[INFO] [stdout] test command::tests::then_followed_by_semicolon_still_errors ... ok
[INFO] [stdout] test completion::tests::analyze_variable_braced ... ok
[INFO] [stdout] test completion::tests::analyze_variable_empty_prefix ... ok
[INFO] [stdout] test completion::tests::analyze_variable_dollar ... ok
[INFO] [stdout] test completion::tests::complete_command_matches_builtin_prefix ... ok
[INFO] [stdout] test completion::tests::complete_command_empty_prefix_includes_builtins ... ok
[INFO] [stdout] test completion::tests::complete_file_empty_dir_scans_relative ... ok
[INFO] [stdout] test completion::tests::analyze_path_splits_at_slash ... ok
[INFO] [stdout] test completion::tests::analyze_variable_mid_word ... ok
[INFO] [stdout] test completion::tests::complete_command_results_are_sorted_and_unique ... ok
[INFO] [stdout] test completion::tests::complete_file_unreadable_dir_is_empty ... ok
[INFO] [stdout] test completion::tests::complete_variable_empty_prefix_returns_all_sorted ... ok
[INFO] [stdout] test completion::tests::complete_variable_matches_prefix ... ok
[INFO] [stdout] test completion::tests::complete_variable_no_match_is_empty ... ok
[INFO] [stdout] test completion::tests::dispatch_arg_position_uses_spec ... ok
[INFO] [stdout] test completion::tests::dispatch_d_default_spec_applies_when_no_match ... ok
[INFO] [stdout] test completion::tests::dispatch_variable_context_bypasses_spec ... ok
[INFO] [stdout] test completion::tests::expand_tilde_prefix_handles_leading_tilde_slash ... ok
[INFO] [stdout] test completion::tests::complete_command_scans_path_for_executables ... ok
[INFO] [stdout] test completion::tests::helper_holds_rc_refcell_shell ... ok
[INFO] [stdout] test completion::tests::complete_command_finds_symlinked_executable ... ok
[INFO] [stdout] test completion::tests::spec_completion_anchors_at_word_start ... ok
[INFO] [stdout] test completion::tests::complete_file_escapes_spaces ... ok
[INFO] [stdout] test completion::tests::complete_file_directory_gets_trailing_slash ... ok
[INFO] [stdout] test completion::tests::tokenize_custom_wordbreaks_splits_on_colon ... ok
[INFO] [stdout] test completion::tests::dispatch_resolve_starts_with_clean_current_spec ... ok
[INFO] [stdout] test completion::tests::tokenize_trailing_separator_means_empty_cursor_word ... ok
[INFO] [stdout] test completion::tests::tokenize_default_wordbreaks_is_whitespace ... ok
[INFO] [stdout] test completion::tests::complete_file_hidden_excluded_unless_prefix_dot ... ok
[INFO] [stdout] test completion::tests::dispatch_falls_back_to_file_when_no_spec ... ok
[INFO] [stdout] test completion::tests::extract_command_name_strips_outer_quotes ... ok
[INFO] [stdout] test completion::tests::spec_default_fallback_yields_full_relative_paths ... ok
[INFO] [stdout] test completion::tests::spec_filenames_appends_slash_to_tilde_dir ... ok
[INFO] [stdout] test completion_builtins::tests::compgen_F_does_not_leak_current_completion_spec ... ok
[INFO] [stdout] test completion_builtins::tests::compgen_A_builtin ... ok
[INFO] [stdout] test completion_builtins::tests::compgen_no_match_returns_1 ... ok
[INFO] [stdout] test completion_builtins::tests::complete_invalid_action_errors ... ok
[INFO] [stdout] test completion::tests::complete_file_matches_prefix ... ok
[INFO] [stdout] test completion_builtins::tests::complete_clustered_short_flags_accumulate ... ok
[INFO] [stdout] test completion_builtins::tests::compgen_W_filters_by_prefix_arg ... ok
[INFO] [stdout] test completion_builtins::tests::complete_D_with_names_errors ... ok
[INFO] [stdout] test completion::tests::complete_file_tilde_expands_with_home ... ok
[INFO] [stdout] test completion::tests::complete_file_symlinked_directory_gets_trailing_slash ... ok
[INFO] [stdout] test completion_builtins::tests::complete_inline_flag_arg ... ok
[INFO] [stdout] test completion_builtins::tests::complete_D_sets_default_spec ... ok
[INFO] [stdout] test completion::tests::dispatch_o_default_falls_back_on_empty ... ok
[INFO] [stdout] test completion_builtins::tests::complete_invalid_option_errors ... ok
[INFO] [stdout] test completion_builtins::tests::complete_plus_o_clears_option ... ok
[INFO] [stdout] test completion_builtins::tests::complete_r_removes_spec ... ok
[INFO] [stdout] test completion_builtins::tests::complete_multiple_actions_accumulate ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_D_rejected_with_exit_2 ... ok
[INFO] [stdout] test completion_builtins::tests::complete_print_form_round_trips_wordlist ... ok
[INFO] [stdout] test completion_builtins::tests::complete_registers_and_prints ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_invalid_option_errors ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_double_dash_ends_flags ... ok
[INFO] [stdout] test completion_builtins::tests::complete_r_bare_clears_all_by_command ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_E_rejected_with_exit_2 ... ok
[INFO] [stdout] test completion_builtins::tests::complete_p_with_D_prints_only_default ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_named_missing_returns_1 ... ok
[INFO] [stdout] test completion_builtins::tests::complete_nothing_to_complete_errors ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_in_function_mutates_live_spec ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_named_plus_o_unsets ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_outside_function_with_no_name_errors ... ok
[INFO] [stdout] test completion_builtins::tests::compopt_named_mutates_registry ... ok
[INFO] [stdout] test completion_spec::tests::action_builtin_enumerates_builtins ... ok
[INFO] [stdout] test completion_spec::tests::action_command_returns_raw_names_not_escaped ... ok
[INFO] [stdout] test completion_builtins::tests::complete_short_flag_actions_map_to_actions ... ok
[INFO] [stdout] test completion_builtins::tests::complete_unknown_name_for_p_returns_1 ... ok
[INFO] [stdout] test completion_spec::tests::action_parse_recognizes_known ... ok
[INFO] [stdout] test completion_spec::tests::action_function_enumerates_functions ... ok
[INFO] [stdout] test completion_spec::tests::action_parse_rejects_unknown ... ok
[INFO] [stdout] test completion_spec::tests::action_keyword_enumerates_keywords ... ok
[INFO] [stdout] test completion_spec::tests::enumerate_empty_actions_return_empty ... ok
[INFO] [stdout] test completion_spec::tests::enumerate_signal_helptopic_enabled ... ok
[INFO] [stdout] test completion_spec::tests::enumerate_setopt_shopt_table_order_and_membership ... ok
[INFO] [stdout] test completion_spec::tests::directory_action_tilde_expands_home ... ok
[INFO] [stdout] test completion_spec::tests::action_parse_round_trips_all_24 ... ok
[INFO] [stdout] test completion_builtins::tests::complete_r_missing_name_returns_1 ... ok
[INFO] [stdout] test completion_spec::tests::action_file_handles_dir_prefix ... ok
[INFO] [stdout] test completion::tests::dispatch_command_position_uses_command_completion ... ok
[INFO] [stdout] test completion_spec::tests::filter_bang_keeps_only_matches ... ok
[INFO] [stdout] test completion_spec::tests::function_invocation_reads_compreply ... ok
[INFO] [stdout] test completion_spec::tests::function_invocation_sets_comp_words ... ok
[INFO] [stdout] test completion_spec::tests::function_invocation_preserves_last_status ... ok
[INFO] [stdout] test completion_spec::tests::function_missing_returns_empty ... ok
[INFO] [stdout] test completion_spec::tests::split_wordlist_default_ifs_collapses_runs ... ok
[INFO] [stdout] test completion_spec::tests::prefix_suffix_decorate_results ... ok
[INFO] [stdout] test completion_spec::tests::filter_removes_matches ... ok
[INFO] [stdout] test completion_spec::tests::split_wordlist_non_ws_each_delimits ... ok
[INFO] [stdout] test completion_spec::tests::function_invocation_leaves_current_spec_set ... ok
[INFO] [stdout] test completion_spec::tests::wordlist_with_no_match_is_empty ... ok
[INFO] [stdout] test continuation::tests::classify_double_bracket_trailing_and_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::classify_heredoc_unclosed_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::classify_subshell_closed_is_complete ... ok
[INFO] [stdout] test continuation::tests::classify_subshell_unclosed_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::complete_simple_command ... ok
[INFO] [stdout] test continuation::tests::complete_multiline_if ... ok
[INFO] [stdout] test continuation::tests::classify_bare_double_bracket_token_is_complete ... ok
[INFO] [stdout] test completion_spec::tests::wordlist_filters_by_prefix ... ok
[INFO] [stdout] test continuation::tests::classify_closed_double_bracket_is_complete ... ok
[INFO] [stdout] test completion_spec::tests::function_invocation_positional_params ... ok
[INFO] [stdout] test continuation::tests::complete_brace_group_is_complete ... ok
[INFO] [stdout] test continuation::tests::classify_unclosed_double_bracket_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::classify_heredoc_closed_is_complete ... ok
[INFO] [stdout] test continuation::tests::empty_buffer_is_complete ... ok
[INFO] [stdout] test completion_spec::tests::wordlist_respects_ifs ... ok
[INFO] [stdout] test continuation::tests::even_trailing_backslashes_are_not_a_continuation ... ok
[INFO] [stdout] test continuation::tests::genuine_syntax_error_is_error ... ok
[INFO] [stdout] test continuation::tests::if_awaiting_body_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::classify_double_bracket_missing_operand_is_error ... ok
[INFO] [stdout] test continuation::tests::joiner_compound_is_semicolon_after_a_command ... ok
[INFO] [stdout] test continuation::tests::joiner_backslash_is_empty ... ok
[INFO] [stdout] test continuation::tests::joiner_compound_is_space_after_a_bare_keyword ... ok
[INFO] [stdout] test continuation::tests::joiner_compound_is_space_after_case_keyword ... ok
[INFO] [stdout] test continuation::tests::joiner_operator_is_space ... ok
[INFO] [stdout] test continuation::tests::joiner_compound_is_space_after_for_keyword ... ok
[INFO] [stdout] test continuation::tests::open_arithmetic_expansion_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::joiner_compound_is_space_after_open_brace ... ok
[INFO] [stdout] test continuation::tests::joiner_for_double_bracket_is_space ... ok
[INFO] [stdout] test continuation::tests::joiner_for_heredoc_is_newline ... ok
[INFO] [stdout] test continuation::tests::open_brace_expansion_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::open_command_substitution_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::open_double_quote_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::stray_word_after_fi_is_error ... ok
[INFO] [stdout] test continuation::tests::trailing_oror_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::trailing_pipe_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::unterminated_arith_block_requests_more_input ... ok
[INFO] [stdout] test continuation::tests::unterminated_arith_for_header_requests_more_input ... ok
[INFO] [stdout] test continuation::tests::trailing_andand_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::joiner_open_quote_is_semicolon ... ok
[INFO] [stdout] test continuation::tests::trailing_backslash_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::unterminated_brace_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::unterminated_case_is_incomplete ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_for_continue_evaluates_step ... ok
[INFO] [stdout] test continuation::tests::unterminated_for_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::unterminated_function_def_is_incomplete ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_for_counter_loop_sets_var ... ok
[INFO] [stdout] test executor::array_assign_tests::append_array_extends ... ok
[INFO] [stdout] test executor::array_assign_tests::compound_assign_creates_array ... ok
[INFO] [stdout] test executor::array_assign_tests::element_assign_creates_array ... ok
[INFO] [stdout] test executor::array_assign_tests::append_element_concatenates ... ok
[INFO] [stdout] test executor::array_assign_tests::readonly_blocks_compound_assign ... ok
[INFO] [stdout] test continuation::tests::unterminated_until_is_incomplete ... ok
[INFO] [stdout] test continuation::tests::unterminated_while_is_incomplete ... ok
[INFO] [stdout] test executor::array_assign_tests::indexed_lvalue_compound_rhs_rejected ... ok
[INFO] [stdout] test executor::array_assign_tests::element_assign_promotes_scalar ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_command_division_by_zero_exits_1 ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_command_zero_exits_1 ... ok
[INFO] [stdout] test continuation::tests::unterminated_if_is_incomplete ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_command_nonzero_exits_0 ... ok
[INFO] [stdout] test executor::array_assign_tests::scalar_append_to_existing_array_writes_element_zero ... ok
[INFO] [stdout] test executor::arith_for_tests::arith_for_break_stops_at_value ... ok
[INFO] [stdout] test executor::array_assign_tests::readonly_blocks_element_assign ... ok
[INFO] [stdout] test executor::array_assign_tests::sparse_compound_assign_respects_explicit_subscripts ... ok
[INFO] [stdout] test executor::array_assign_tests::unset_whole_array_removes_variable ... ok
[INFO] [stdout] test executor::array_assign_tests::unset_element_removes_one_key ... ok
[INFO] [stdout] test executor::assoc_assign_tests::element_assign_on_declared_associative_uses_string_key ... ok
[INFO] [stdout] test executor::assoc_assign_tests::positional_literal_on_associative_rejects ... ok
[INFO] [stdout] test executor::array_assign_tests::unset_with_empty_subscript_errors ... ok
[INFO] [stdout] test executor::assoc_assign_tests::compound_literal_on_associative_uses_keys ... ok
[INFO] [stdout] test executor::assoc_assign_tests::element_assign_without_declare_creates_indexed ... ok
[INFO] [stdout] done
[INFO] [stdout] test executor::assoc_assign_tests::append_compound_on_associative_merges ... ok
[INFO] [stdout] test executor::assoc_assign_tests::scalar_rhs_on_associative_rejects ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_too_many_args_breaks_all_loops_and_status_1 ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_inside_function_called_from_loop_errors ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_in_inner_loop_exits_inner_only ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_999_caps_in_two_loops ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_zero_breaks_all_loops_and_status_1 ... ok
[INFO] [stdout] test executor::assoc_assign_tests::readonly_blocks_element_write_on_associative ... ok
[INFO] [stdout] test executor::assoc_assign_tests::unset_associative_element_removes_one_key ... ok
[INFO] [stdout] test executor::assoc_assign_tests::unset_name_with_separate_assoc_still_creates_indexed ... ok
[INFO] [stdout] test executor::assoc_assign_tests::append_element_on_associative_concatenates ... ok
[INFO] [stdout] test executor::assoc_assign_tests::unset_whole_associative_removes_variable ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::break_2_in_inner_loop_exits_both ... ok
[INFO] [stdout] test completion_builtins::tests::complete_multi_name_registration ... ok
[INFO] [stdout] test executor::select_menu_tests::ten_items_cols110_single_column_flip ... ok
[INFO] [stdout] test executor::select_menu_tests::ten_items_cols40 ... ok
[INFO] [stdout] test executor::select_menu_tests::ten_items_cols80_multicolumn ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::loop_depth_zero_after_nested_loop_exits ... ok
[INFO] [stdout] test executor::select_menu_tests::three_items_single_column ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::loop_depth_zero_after_loop_exits ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::continue_zero_breaks_all_loops_and_status_1 ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::loop_depth_restored_after_function_return ... ok
[INFO] [stdout] 
[INFO] [stdout] test executor::loop_levels_executor_tests::continue_2_in_inner_loop_runs_outer_step ... ok
[INFO] [stdout] test executor::loop_levels_executor_tests::normal_break_leaves_status_0 ... ok
[INFO] [stdout] test executor::select_menu_tests::indent_emits_tab_across_stop_else_space ... ok
[INFO] [stdout] test executor::select_menu_tests::number_len_digit_counts ... ok
[INFO] [stdout] hi
[INFO] [stdout] test executor::select_menu_tests::single_item ... ok
[INFO] [stdout] test executor::tests::apply_inline_assignments_sets_and_exports_left_to_right ... ok
[INFO] [stdout] test executor::tests::arith_assign_to_readonly_errors ... ok
[INFO] [stdout] test executor::tests::case_alternation_matches_any ... ok
[INFO] [stdout] test executor::tests::case_continue_match_keeps_testing ... ok
[INFO] [stdout] test executor::tests::case_empty_body_is_status_zero ... ok
[INFO] [stdout] test executor::tests::case_fall_through_runs_next_body ... ok
[INFO] [stdout] test executor::tests::case_no_match_is_status_zero_no_output ... ok
[INFO] [stdout] test executor::tests::case_glob_pattern_matches ... ok
[INFO] [stdout] test executor::tests::brace_group_assignments_affect_current_shell ... ok
[INFO] [stdout] test executor::tests::call_function_pops_arg0_after_return ... ok
[INFO] [stdout] test executor::tests::background_pure_builtin_does_not_mutate_parent_env ... ok
[INFO] [stdout] test executor::tests::background_pure_builtin_forks_and_registers_job ... ok
[INFO] [stdout] test executor::tests::call_function_pushes_arg0_during_body ... ok
[INFO] [stdout] test executor::tests::classify_stage_external_for_unknown_command ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_builtin ... ok
[INFO] [stdout] test executor::tests::case_runs_first_matching_clause ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_compound_if ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_assign_only_stage ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_function ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_dynamic_program ... ok
[INFO] [stdout] test executor::tests::classify_stage_inprocess_for_echo_builtin ... ok
[INFO] [stdout] test executor::tests::compound_stdout_redirect_writes_to_file ... ok
[INFO] [stdout] test executor::tests::for_empty_list_runs_body_zero_times ... ok
[INFO] [stdout] test executor::tests::for_break_stops_iteration ... ok
[INFO] [stdout] test executor::tests::execute_capturing_exit_returns_status ... ok
[INFO] [stdout] test executor::tests::execute_capturing_empty_echo ... ok
[INFO] [stdout] test continuation::tests::joiner_for_subshell_is_semi_space ... ok
[INFO] [stdout] test executor::tests::execute_bg_chain_registers_job ... ok
[INFO] [stdout] test executor::tests::execute_capturing_builtin_pipeline_captures_terminal_stage ... ok
[INFO] [stdout] test executor::tests::execute_capturing_ignores_background_flag_runs_synchronously ... ok
[INFO] [stdout] test executor::tests::execute_bg_chain_returns_immediately_status_0 ... ok
[INFO] [stdout] test executor::tests::for_continue_advances_through_all_values ... ok
[INFO] [stdout] test executor::tests::for_iterates_each_value_in_order ... ok
[INFO] [stdout] test executor::tests::execute_capturing_echo_returns_raw_output_with_newline ... ok
[INFO] [stdout] test executor::tests::function_def_registers_and_returns_zero ... ok
[INFO] [stdout] test executor::tests::for_loop_iter_var_readonly_aborts_at_first_iter ... ok
[INFO] [stdout] test executor::tests::function_local_restores_outer_var ... ok
[INFO] [stdout] test executor::tests::for_without_in_iterates_positionals ... ok
[INFO] [stdout] test executor::tests::for_variable_holds_last_value_after_loop ... ok
[INFO] [stdout] test executor::tests::function_with_local_does_not_leak_var ... ok
[INFO] [stdout] test executor::tests::give_terminal_to_silently_succeeds_on_non_tty ... ok
[INFO] [stdout] test executor::tests::fork_and_run_in_subshell_echo_stage_writes_to_pipe ... ok
[INFO] [stdout] test executor::tests::if_false_condition_runs_else_body ... ok
[INFO] [stdout] test executor::tests::if_elif_selects_matching_branch ... ok
[INFO] [stdout] test executor::tests::if_false_no_else_runs_nothing_status_zero ... ok
[INFO] [stdout] test executor::tests::if_true_condition_runs_then_body ... ok
[INFO] [stdout] test executor::tests::inline_assignment_to_readonly_aborts_command ... ok
[INFO] [stdout] test executor::tests::nested_function_calls_have_isolated_locals ... ok
[INFO] [stdout] test executor::tests::open_writable_guard_blocks_existing_regular_file ... ok
[INFO] [stdout] test executor::tests::open_writable_guard_creates_new_file ... ok
[INFO] [stdout] test executor::tests::local_readonly_in_function_errors ... ok
[INFO] [stdout] test executor::tests::open_writable_guard_exempts_dev_null ... ok
[INFO] [stdout] test executor::tests::open_writable_unguarded_truncates_existing ... ok
[INFO] [stdout] test executor::tests::case_quoted_metacharacter_matches_literally ... ok
[INFO] [stdout] test executor::tests::program_static_text_returns_none_for_multi_part_word ... ok
[INFO] [stdout] test brace_expand::tests::too_many_elements_errors ... ok
[INFO] [stdout] test executor::tests::program_static_text_returns_none_for_var_word ... ok
[INFO] [stdout] test executor::tests::program_static_text_returns_none_for_quoted_literal ... ok
[INFO] [stdout] test executor::tests::param_expansion_default_assign_to_readonly_errors ... ok
[INFO] [stdout] test executor::tests::resolve_fd_target_rejects_non_numeric ... ok
[INFO] [stdout] test executor::tests::resolve_fd_target_parses_literal_number ... ok
[INFO] [stdout] ok
[INFO] [stdout] test executor::tests::restore_inline_assignments_handles_repeated_name ... ok
[INFO] [stdout] test executor::tests::redirect_target_does_not_glob ... ok
[INFO] [stdout] test executor::tests::ps4_cmdsub_preserves_last_status ... ok
[INFO] [stdout] test executor::tests::ps4_cmdsub_under_xtrace_does_not_recurse ... ok
[INFO] [stdout] test executor::tests::restore_inline_assignments_restores_prior_unset_state ... ok
[INFO] [stdout] test executor::tests::stray_break_at_top_level_errors_with_status_0 ... ok
[INFO] [stdout] test executor::tests::top_level_assign_to_readonly_errors ... ok
[INFO] [stdout] test executor::tests::restore_inline_assignments_restores_prior_value_unexported ... ok
[INFO] [stdout] test executor::tests::select_empty_list_runs_no_body_and_restores_depth ... ok
[INFO] [stdout] test executor::tests::run_exec_single_function_call_inline_assignment_persists ... ok
[INFO] [stdout] test executor::tests::run_exec_single_special_builtin_inline_assignment_persists ... ok
[INFO] [stdout] test executor::tests::restore_inline_assignments_restores_prior_value_exported ... ok
[INFO] [stdout] test executor::tests::run_exec_single_external_command_inline_assignment_restores_after ... ok
[INFO] [stdout] test executor::tests::until_true_condition_runs_body_zero_times ... ok
[INFO] [stdout] test executor::tests::while_true_body_breaks_runs_once ... ok
[INFO] [stdout] test expand::array_expansion_tests::count_returns_element_count_not_max_index ... ok
[INFO] [stdout] test expand::array_expansion_tests::bare_name_returns_element_zero ... ok
[INFO] [stdout] test executor::tests::while_false_condition_runs_body_zero_times ... ok
[INFO] [stdout] test expand::array_expansion_tests::alternative_value_on_missing_index_is_empty ... ok
[INFO] [stdout] test expand::array_expansion_tests::error_if_unset_on_missing_index_fires ... ok
[INFO] [stdout] test executor::tests::run_background_sequence_sets_last_bg_pid ... ok
[INFO] [stdout] test expand::array_expansion_tests::element_length ... ok
[INFO] [stdout] test expand::array_expansion_tests::length_of_element_at_bad_subscript_errors ... ok
[INFO] [stdout] test expand::array_expansion_tests::modifier_on_existing_index_returns_element ... ok
[INFO] [stdout] test expand::array_expansion_tests::modifier_on_missing_index_uses_default ... ok
[INFO] [stdout] test expand::array_expansion_tests::quoted_at_yields_separate_words ... ok
[INFO] [stdout] test expand::array_expansion_tests::modifier_no_colon_on_missing_index_uses_default ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::count_returns_pair_count ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::element_length_for_associative ... ok
[INFO] [stdout] test expand::array_expansion_tests::slicing_positive_offset_and_length ... ok
[INFO] [stdout] test expand::array_expansion_tests::negative_subscript_wraps ... ok
[INFO] [stdout] test expand::array_expansion_tests::nounset_on_unset_element_fires_pe_error ... ok
[INFO] [stdout] test expand::array_expansion_tests::out_of_range_element_is_empty ... ok
[INFO] [stdout] test expand::array_expansion_tests::slicing_negative_offset_counts_from_end ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::bare_name_returns_empty_for_associative ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::modifier_no_colon_on_missing_key_uses_default ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::missing_key_is_empty ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::error_if_unset_on_missing_associative_key_fires ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::keys_list_returns_string_keys_in_insertion_order ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::alternative_value_on_missing_key_is_empty ... ok
[INFO] [stdout] test expand::array_expansion_tests::keys_list_returns_subscripts ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::modifier_on_missing_key_uses_default ... ok
[INFO] [stdout] test expand::array_expansion_tests::quoted_star_joins_by_ifs ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::quoted_at_yields_values_in_insertion_order ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::colon_ifs_preserves_empty_between ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::slicing_returns_values_in_insertion_order ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::colon_ifs_trailing_no_empty ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::default_ifs_collapses_whitespace_runs ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::variable_subscript_expands_as_string ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::quoted_star_joins_values_in_insertion_order ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::read_element_by_string_key ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::quoted_star_keys_joins_by_ifs ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::empty_ifs_no_split ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::current_field_continuation ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::leading_nonws_then_value ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::empty_value_emits_nothing ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::mixed_consecutive_nonws_yields_empty_field ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::mixed_ifs_ws_collapses_around_nonws ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::nonws_ifs_with_ws_value_no_split ... ok
[INFO] [stdout] test expand::assoc_expansion_tests::nounset_on_missing_key_fires_pe_error ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::whitespace_only_value_yields_no_fields ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::ws_only_ifs_pure_whitespace_collapses ... ok
[INFO] [stdout] test expand::tests::expand_assignment_command_sub_concatenates_verbatim ... ok
[INFO] [stdout] test expand::positional_slicing_tests::at_slice_negative_length_indexes_from_end ... ok
[INFO] [stdout] test expand::tests::expand_assignment_last_status_after_command_sub_reads_snapshot ... ok
[INFO] [stdout] test expand::tests::expand_assignment_param_expansion_no_split ... ok
[INFO] [stdout] test expand::tests::expand_assignment_concatenates_parts ... ok
[INFO] [stdout] test expand::positional_slicing_tests::at_slice_negative_offset ... ok
[INFO] [stdout] test expand::tests::expand_assignment_preserves_interior_whitespace ... ok
[INFO] [stdout] test expand::positional_slicing_tests::at_slice_offset_zero_includes_dollar_zero ... ok
[INFO] [stdout] test expand::positional_slicing_tests::at_slice_positive ... ok
[INFO] [stdout] test expand::positional_slicing_tests::star_slice_joins_by_ifs ... ok
[INFO] [stdout] test expand::tests::expand_arith_part_division_by_zero_yields_empty_field_and_sets_status ... ok
[INFO] [stdout] test expand::tests::expand_arith_part_renders_decimal_result ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::single_nonws_only_yields_empty_field ... ok
[INFO] [stdout] test expand::tests::expand_assignment_unset_var_yields_empty_segment ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_invokes_inner_echo ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_strips_trailing_newlines ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_quoted_preserves_whitespace ... ok
[INFO] [stdout] test expand::tests::expand_assignment_arith_part_renders_decimal ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_unquoted_splits ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_updates_parent_last_status ... ok
[INFO] [stdout] test expand::tests::expand_command_sub_with_literal_prefix_merges_first_field ... ok
[INFO] [stdout] test expand::tests::expand_dollar_at_empty_produces_no_fields ... ok
[INFO] [stdout] test expand::tests::expand_dollar_digit_reads_positional ... ok
[INFO] [stdout] test expand::tests::expand_dollar_at_quoted_produces_field_per_arg ... ok
[INFO] [stdout] test expand::tests::expand_dollar_hash_is_arg_count ... ok
[INFO] [stdout] test expand::tests::expand_dollar_digit_unset_is_empty ... ok
[INFO] [stdout] test expand::tests::expand_dollar_star_quoted_joins_with_first_ifs_char ... ok
[INFO] [stdout] test expand::tests::expand_dollar_at_unquoted_splits_each_arg_independently ... ok
[INFO] [stdout] test expand::tests::expand_dollar_star_quoted_joins_with_space ... ok
[INFO] [stdout] test expand::tests::expand_empty_literal_yields_one_empty_arg ... ok
[INFO] [stdout] test expand::tests::expand_last_status_after_command_sub_in_same_word_reads_snapshot ... ok
[INFO] [stdout] test expand::tests::expand_last_status_quoted ... ok
[INFO] [stdout] test expand::tests::expand_literal_quoted_marks_chars_quoted ... ok
[INFO] [stdout] test expand::tests::expand_assignment_tilde_home_resolves ... ok
[INFO] [stdout] test expand::tests::expand_literal_unquoted_marks_chars_unquoted ... ok
[INFO] [stdout] test expand::tests::expand_mixed_quoted_unquoted_literal_parts ... ok
[INFO] [stdout] test expand::tests::expand_multiple_literals_concatenate ... ok
[INFO] [stdout] test expand::tests::expand_param_expansion_error_yields_empty_field_sets_status ... ok
[INFO] [stdout] test expand::tests::expand_param_expansion_quoted_value_with_space_stays_one_field ... ok
[INFO] [stdout] test expand::tests::expand_param_expansion_unquoted_value_with_space_splits ... ok
[INFO] [stdout] test expand::tests::expand_param_expansion_use_default_unquoted_unset ... ok
[INFO] [stdout] test expand::tests::expand_literal_word ... ok
[INFO] [stdout] test expand::tests::expand_pattern_last_status_snapshots_before_command_sub ... ok
[INFO] [stdout] test expand::tests::expand_quoted_var_marks_chars_quoted ... ok
[INFO] [stdout] test expand::tests::expand_unquoted_var_with_literal_prefix_merges_first_field ... ok
[INFO] [stdout] test expand::tests::expand_unquoted_var_with_two_fields_returns_two_for_redirect_check ... ok
[INFO] [stdout] test expand::tests::expand_tilde_home_unset_falls_back_to_literal ... ok
[INFO] [stdout] test expand::tests::expand_set_var_unquoted_splits_whitespace ... ok
[INFO] [stdout] test expand::tests::expand_tilde_marks_chars_unquoted ... ok
[INFO] [stdout] test expand::tests::expand_tilde_oldpwd_unset_falls_back_to_literal_minus ... ok
[INFO] [stdout] test expand::tests::expand_tilde_pwd_resolves_when_pwd_set ... ok
[INFO] [stdout] test expand::tests::expand_tilde_pwd_unset_falls_back_to_literal_plus ... ok
[INFO] [stdout] test expand::tests::expand_tilde_uses_home ... ok
[INFO] [stdout] test expand::tests::expand_unquoted_var_marks_chars_unquoted ... ok
[INFO] [stdout] test expand::tests::expand_then_glob_end_to_end_for_literal ... ok
[INFO] [stdout] test expand::tests::expand_unset_quoted_yields_one_empty_arg ... ok
[INFO] [stdout] test expand::tests::expand_unset_unquoted_returns_no_fields_for_redirect_check ... ok
[INFO] [stdout] test expand::tests::expand_unset_unquoted_yields_no_args ... ok
[INFO] [stdout] test expand::tests::field_from_quoted_str_marks_all_chars_quoted ... ok
[INFO] [stdout] test expand::tests::field_from_unquoted_str_marks_all_chars_unquoted ... ok
[INFO] [stdout] test expand::tests::field_push_str_appends_chars_with_quoted_flag ... ok
[INFO] [stdout] test expand::tests::field_quoted_vec_uses_char_count_not_byte_count ... ok
[INFO] [stdout] test expand::tests::glob_bracket_class_matches_listed_chars ... ok
[INFO] [stdout] test expand::tests::glob_no_match_returns_literal_pattern ... ok
[INFO] [stdout] test executor::tests::program_static_text_returns_some_for_plain_literal ... ok
[INFO] [stdout] test expand::array_expansion_tests::read_element_returns_value ... ok
[INFO] [stdout] test expand::tests::glob_expand_preserves_field_order ... ok
[INFO] [stdout] test expand::tests::glob_bracket_dot_class_matches_dotfile ... ok
[INFO] [stdout] test expand::tests::run_substitution_records_last_cmd_sub_status ... ok
[INFO] [stdout] test generate::tests::exported_function_value_form ... ok
[INFO] [stdout] test expand::tests::glob_star_does_not_cross_path_separator ... ok
[INFO] [stdout] test generate::tests::rt_all_args ... ok
[INFO] [stdout] test generate::tests::rt_args ... ok
[INFO] [stdout] test expand::tests::glob_star_excludes_dotfiles_by_default ... ok
[INFO] [stdout] test expand::tests::glob_star_matches_files_in_cwd ... ok
[INFO] [stdout] test generate::tests::rt_arith ... ok
[INFO] [stdout] test expand::tests::glob_dot_star_matches_dotfiles_but_excludes_dot_and_dotdot ... ok
[INFO] [stdout] test generate::tests::rt_array_all ... ok
[INFO] [stdout] test generate::tests::rt_arith_for ... ok
[INFO] [stdout] test generate::tests::rt_arith_cmd ... ok
[INFO] [stdout] test expand::tests::glob_unterminated_bracket_falls_back_to_literal ... ok
[INFO] [stdout] test generate::tests::rt_array_index ... ok
[INFO] [stdout] test generate::tests::rt_assign_prefix ... ok
[INFO] [stdout] test generate::tests::rt_array_assign ... ok
[INFO] [stdout] test generate::tests::rt_bare_assign ... ok
[INFO] [stdout] test generate::tests::rt_background ... ok
[INFO] [stdout] test generate::tests::rt_brace_group ... ok
[INFO] [stdout] test generate::tests::rt_braced_var ... ok
[INFO] [stdout] test generate::tests::rt_case_fallthrough ... ok
[INFO] [stdout] test generate::tests::rt_case ... ok
[INFO] [stdout] test generate::tests::rt_dbracket_logic ... ok
[INFO] [stdout] test generate::tests::rt_cmdsub ... ok
[INFO] [stdout] test generate::tests::rt_dbracket_regex ... ok
[INFO] [stdout] test generate::tests::rt_dbracket_binary ... ok
[INFO] [stdout] test generate::tests::rt_dbracket_unary ... ok
[INFO] [stdout] test generate::tests::rt_double_quoted ... ok
[INFO] [stdout] test generate::tests::rt_escaped_space ... ok
[INFO] [stdout] test generate::tests::rt_heredoc_collision ... ok
[INFO] [stdout] test generate::tests::rt_for_noin ... ok
[INFO] [stdout] test generate::tests::rt_for ... ok
[INFO] [stdout] test generate::tests::rt_heredoc ... ok
[INFO] [stdout] test generate::tests::rt_herestring ... ok
[INFO] [stdout] test generate::tests::rt_if_elif ... ok
[INFO] [stdout] test generate::tests::rt_if ... ok
[INFO] [stdout] test generate::tests::rt_last_status ... ok
[INFO] [stdout] test generate::tests::rt_mixed ... ok
[INFO] [stdout] test generate::tests::rt_negated_pipeline ... ok
[INFO] [stdout] test generate::tests::rt_nested ... ok
[INFO] [stdout] test generate::tests::rt_param_alt ... ok
[INFO] [stdout] test generate::tests::rt_param_length ... ok
[INFO] [stdout] test generate::tests::rt_param_subst ... ok
[INFO] [stdout] test generate::tests::rt_param_substring ... ok
[INFO] [stdout] test generate::tests::rt_if_else ... ok
[INFO] [stdout] test expand::tests::expand_tilde_unknown_user_falls_back_to_literal ... ok
[INFO] [stdout] test generate::tests::rt_redir_append ... ok
[INFO] [stdout] test generate::tests::rt_redir_clobber ... ok
[INFO] [stdout] test generate::tests::rt_redir_dup ... ok
[INFO] [stdout] test generate::tests::rt_redir_dup_file ... ok
[INFO] [stdout] test generate::tests::rt_redir_read ... ok
[INFO] [stdout] test generate::tests::rt_redir_trunc ... ok
[INFO] [stdout] test generate::tests::rt_redirected_compound ... ok
[INFO] [stdout] test generate::tests::rt_semi ... ok
[INFO] [stdout] test generate::tests::rt_select ... ok
[INFO] [stdout] test generate::tests::rt_simple_word ... ok
[INFO] [stdout] test generate::tests::rt_subshell ... ok
[INFO] [stdout] test generate::tests::rt_tilde ... ok
[INFO] [stdout] test generate::tests::rt_transform_q ... ok
[INFO] [stdout] test generate::tests::rt_until ... ok
[INFO] [stdout] test generate::tests::rt_var ... ok
[INFO] [stdout] test generate::tests::rt_while ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::bang_unchanged ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::caret_inside_existing_class_is_literal ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::caret_not_leading_is_literal ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::escaped_open_bracket_not_a_class ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::leading_caret_becomes_bang ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::literal_first_bracket_after_neg ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::multiple_classes_each_converted ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::no_change_returns_borrowed ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::plain_class_unchanged ... ok
[INFO] [stdout] test glob_match::bracket_negation_tests::posix_class_inner_brackets ... ok
[INFO] [stdout] test generate::tests::rt_param_remove_suffix ... ok
[INFO] [stdout] test glob_match::pathname_tests::at_exactly_one ... ok
[INFO] [stdout] test glob_match::pathname_tests::class_inside_extglob ... ok
[INFO] [stdout] test glob_match::pathname_tests::multi_component ... ok
[INFO] [stdout] test glob_match::pathname_tests::explicit_dot_matches_dotfile ... ok
[INFO] [stdout] test glob_match::pathname_tests::negation_excludes_listed_and_dotfiles ... ok
[INFO] [stdout] test glob_match::pathname_tests::no_match_is_empty ... ok
[INFO] [stdout] test glob_match::pathname_tests::nocaseglob_folds_case ... ok
[INFO] [stdout] test generate::tests::rt_indexed_assign ... ok
[INFO] [stdout] test generate::tests::rt_param_default ... ok
[INFO] [stdout] test generate::tests::rt_pipeline ... ok
[INFO] [stdout] test glob_match::posix_class_tests::digit_alpha_space ... ok
[INFO] [stdout] test expand::array_expansion_tests::slicing_negative_length_indexes_from_end ... ok
[INFO] [stdout] test glob_match::posix_class_tests::has_posix_class_detection ... ok
[INFO] [stdout] test glob_match::posix_class_tests::punct_cntrl_graph_print_blank ... ok
[INFO] [stdout] test glob_match::posix_class_tests::negation_and_mixed ... ok
[INFO] [stdout] test glob_match::posix_class_tests::unknown_class_matches_nothing ... ok
[INFO] [stdout] test glob_match::posix_class_tests::upper_lower_alnum_xdigit ... ok
[INFO] [stdout] test glob_match::tests::alternation_and_composition ... ok
[INFO] [stdout] test glob_match::tests::case_insensitive ... ok
[INFO] [stdout] test glob_match::tests::at_exactly_one ... ok
[INFO] [stdout] test glob_match::tests::nesting ... ok
[INFO] [stdout] test glob_match::posix_class_tests::single_bracket_colon_is_literal_set ... ok
[INFO] [stdout] test glob_match::tests::not_negation ... ok
[INFO] [stdout] test expand::tests::glob_expand_no_metachar_returns_chars_as_string ... ok
[INFO] [stdout] test generate::tests::rt_append_assign ... ok
[INFO] [stdout] test glob_match::tests::has_extglob_detects_ops ... ok
[INFO] [stdout] test glob_match::tests::plain_glob_still_works_through_engine ... ok
[INFO] [stdout] test glob_match::tests::plus_one_or_more ... ok
[INFO] [stdout] test generate::tests::rt_single_quoted ... ok
[INFO] [stdout] test generate::tests::rt_and_or ... ok
[INFO] [stdout] test glob_match::tests::question_zero_or_one ... ok
[INFO] [stdout] test history::tests::clear_resets_entries_and_numbering ... ok
[INFO] [stdout] test history::tests::entries_yields_numbered_pairs ... ok
[INFO] [stdout] test history::tests::expand_bang_at_end_of_line_is_literal ... ok
[INFO] [stdout] test glob_match::tests::star_zero_or_more ... ok
[INFO] [stdout] test history::tests::expand_bang_bang_embedded_in_line ... ok
[INFO] [stdout] test history::tests::add_and_get_by_number ... ok
[INFO] [stdout] test history::tests::cap_eviction_bumps_base_number ... ok
[INFO] [stdout] test glob_match::pathname_tests::plus_one_or_more_excludes_dotfiles ... ok
[INFO] [stdout] test history::tests::expand_bang_bang_is_previous_command ... ok
[INFO] [stdout] test expand::tests::glob_partial_quoting_keeps_literal_prefix ... ok
[INFO] [stdout] test expand::ifs_splitter_tests::colon_ifs_leading_produces_empty ... ok
[INFO] [stdout] test expand::tests::glob_expand_question_mark_metachar_detected ... ok
[INFO] [stdout] test expand::tests::expand_set_var_quoted_preserves_whitespace ... ok
[INFO] [stdout] test expand::tests::glob_expand_quoted_metachar_treated_as_literal ... ok
[INFO] [stdout] test history::tests::expand_bang_bang_no_history_errors ... ok
[INFO] [stdout] test expand::tests::glob_negation_bracket_excludes_listed ... ok
[INFO] [stdout] test history::tests::expand_bang_before_quote_is_literal ... ok
[INFO] [stdout] test history::tests::expand_bang_before_whitespace_is_literal ... ok
[INFO] [stdout] test history::tests::expand_bang_caret_no_arguments_is_empty ... ok
[INFO] [stdout] test history::tests::expand_bang_inside_single_quotes_is_literal ... ok
[INFO] [stdout] test history::tests::expand_bang_dollar_no_history_errors ... ok
[INFO] [stdout] test history::tests::expand_bang_minus_n ... ok
[INFO] [stdout] test history::tests::expand_bang_dollar_single_word_command ... ok
[INFO] [stdout] test history::tests::expand_bang_caret_is_first_argument ... ok
[INFO] [stdout] test history::tests::expand_bang_dollar_is_last_word ... ok
[INFO] [stdout] test history::tests::expand_bang_inside_double_quotes_still_expands ... ok
[INFO] [stdout] test history::tests::expand_bang_before_equals_is_literal ... ok
[INFO] [stdout] test history::tests::expand_bang_minus_n_out_of_range_errors ... ok
[INFO] [stdout] test history::tests::expand_bang_n_out_of_range_errors ... ok
[INFO] [stdout] test history::tests::expand_bang_star_is_all_arguments ... ok
[INFO] [stdout] test history::tests::expand_oversized_bang_minus_n_errors_not_panics ... ok
[INFO] [stdout] test history::tests::expand_oversized_bang_n_errors_not_panics ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_basic ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_first_occurrence_only ... ok
[INFO] [stdout] test history::tests::expand_bang_n_absolute ... ok
[INFO] [stdout] test history::tests::expand_bang_star_no_arguments_is_empty ... ok
[INFO] [stdout] test history::tests::expand_single_quote_inside_double_quote_not_a_quote_region ... ok
[INFO] [stdout] test history::tests::expand_bang_string_no_match_errors ... ok
[INFO] [stdout] test history::tests::expand_bang_string_prefix_search ... ok
[INFO] [stdout] test history::tests::expand_bang_string_stops_at_whitespace ... ok
[INFO] [stdout] test history::tests::expand_caret_not_at_line_start_is_not_substitution ... ok
[INFO] [stdout] test history::tests::last_and_last_number ... ok
[INFO] [stdout] test history::tests::expand_does_not_treat_dollar_bang_as_history_event ... ok
[INFO] [stdout] test history::tests::expand_does_not_treat_dollar_bang_unquoted_as_history_event ... ok
[INFO] [stdout] test history::tests::expand_does_not_treat_dollar_lbrace_bang_as_history_event ... ok
[INFO] [stdout] test history::tests::history_round_trips_literal_backslash ... ok
[INFO] [stdout] test history::tests::history_round_trips_embedded_newline ... ok
[INFO] [stdout] test history::tests::expand_escaped_bang_is_literal ... ok
[INFO] [stdout] test history::tests::search_prefix_returns_most_recent_match ... ok
[INFO] [stdout] test history::tests::expand_no_bang_is_noop ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_leading_blanks_allowed ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_no_history_errors ... ok
[INFO] [stdout] test history::tests::save_then_load_round_trips ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_old_not_found_errors ... ok
[INFO] [stdout] test history::tests::save_capped_writes_last_n ... ok
[INFO] [stdout] test history::tests::history_loads_pre_v24_format_without_escapes ... ok
[INFO] [stdout] test history::tests::load_truncates_to_max_most_recent ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_trailing_caret_optional ... ok
[INFO] [stdout] test history::tests::expand_quick_substitution_trailing_text_appended ... ok
[INFO] [stdout] test history::tests::save_capped_none_writes_all_and_zero_writes_empty ... ok
[INFO] [stdout] test history::tests::load_and_save_no_op_when_file_is_none ... ok
[INFO] [stdout] test history::tests::load_missing_file_is_empty_no_error ... ok
[INFO] [stdout] test history::tests::set_max_none_keeps_all ... ok
[INFO] [stdout] test history::tests::set_max_some_evicts_to_cap ... ok
[INFO] [stdout] test history::tests::set_max_zero_empties ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_digits_with_trailing_garbage_is_bad_number ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_minus_is_previous ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_percent_is_current ... ok
[INFO] [stdout] test job_spec::tests::parse_input_without_percent_is_bad_symbol ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_alone_is_empty_error ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_tilde_is_prefix ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_letters_is_prefix ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_word_is_prefix ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_plus_is_current ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_question_alone_is_bad_symbol ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_question_with_spaces_in_pattern ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_digits_is_id ... ok
[INFO] [stdout] test jobs::tests::add_synthetic_done_immediate ... ok
[INFO] [stdout] test jobs::tests::current_id_includes_stopped_jobs ... ok
[INFO] [stdout] test jobs::tests::current_and_previous_tracks_insertion_order ... ok
[INFO] [stdout] test jobs::tests::add_after_remove_reuses_lowest_id ... ok
[INFO] [stdout] test jobs::tests::current_stopped_id_skips_running_jobs ... ok
[INFO] [stdout] test jobs::tests::current_id_returns_most_recent_running_or_stopped ... ok
[INFO] [stdout] test job_spec::tests::parse_percent_question_word_is_substring ... ok
[INFO] [stdout] test jobs::tests::current_id_returns_none_when_only_done_jobs ... ok
[INFO] [stdout] test jobs::tests::drain_notifications_returns_completed_unnotified ... ok
[INFO] [stdout] test jobs::tests::has_pending_false_when_all_done ... ok
[INFO] [stdout] test jobs::tests::drain_notifications_skips_running ... ok
[INFO] [stdout] test jobs::tests::has_pending_tracks_state ... ok
[INFO] [stdout] test jobs::tests::has_pending_true_when_any_stopped ... ok
[INFO] [stdout] test jobs::tests::notification_line_for_done_includes_ampersand ... ok
[INFO] [stdout] test jobs::tests::reap_signaled_transitions_to_signaled ... ok
[INFO] [stdout] test jobs::tests::add_allocates_id_one_first ... ok
[INFO] [stdout] test jobs::tests::reap_unknown_pid_is_silent_no_op ... ok
[INFO] [stdout] test jobs::tests::reap_with_exit_after_stop_finally_transitions_to_done ... ok
[INFO] [stdout] test jobs::tests::notification_line_for_nonzero_exit_shows_exit_n ... ok
[INFO] [stdout] test jobs::tests::notification_line_for_stopped_omits_ampersand ... ok
[INFO] [stdout] test jobs::tests::notification_line_for_stopped_tty_input_shows_reason ... ok
[INFO] [stdout] test jobs::tests::pipeline_reap_stop_then_exit_in_order_finalizes_with_last_stage_status ... ok
[INFO] [stdout] test jobs::tests::reap_with_stopped_status_transitions_job_to_stopped_state ... ok
[INFO] [stdout] test jobs::tests::render_state_stopped_sigttin_includes_tty_input ... ok
[INFO] [stdout] test jobs::tests::remove_notified_drops_only_notified_completed ... ok
[INFO] [stdout] test jobs::tests::render_state_stopped_sigttou_includes_tty_output ... ok
[INFO] [stdout] test jobs::tests::render_state_stopped_sigtstp_is_plain_stopped ... ok
[INFO] [stdout] test jobs::tests::pipeline_reap_stop_then_exit_reverse_order_still_uses_last_stage_status ... ok
[INFO] [stdout] test jobs::tests::render_state_stopped_unknown_signal_falls_back_to_numeric ... ok
[INFO] [stdout] test jobs::tests::resolve_current_uses_current_id ... ok
[INFO] [stdout] test jobs::tests::resolve_id_missing_returns_not_found ... ok
[INFO] [stdout] test jobs::tests::resolve_prefix_ambiguous ... ok
[INFO] [stdout] test jobs::tests::resolve_id_returns_matching_id ... ok
[INFO] [stdout] test jobs::tests::resolve_prefix_no_match ... ok
[INFO] [stdout] test jobs::tests::resolve_prefix_unique_match ... ok
[INFO] [stdout] test jobs::tests::resolve_previous_returns_not_found_when_only_one_job ... ok
[INFO] [stdout] test jobs::tests::resolve_substring_ambiguous ... ok
[INFO] [stdout] test jobs::tests::resolve_substring_unique_match ... ok
[INFO] [stdout] test jobs::tests::resolve_substring_no_match ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_brace_adjacent_var_keeps_expansion ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_quoted_brace_not_expanded ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_subscript_missing_equals_errors ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_brace_expands_bare_range ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_brace_adjacent_cmdsub_keeps_expansion ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_subscripted_brace_stays_single ... ok
[INFO] [stdout] test jobs::tests::resolve_previous_returns_second_most_recent ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_brace_cartesian ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_single_element_brace_is_literal ... ok
[INFO] [stdout] test lexer::array_parse_tests::array_literal_pure_brace_still_expands ... ok
[INFO] [stdout] test lexer::array_parse_tests::bare_param_expansion_has_no_subscript ... ok
[INFO] [stdout] test lexer::array_parse_tests::bare_subscripted_ref_has_none_modifier ... ok
[INFO] [stdout] test lexer::array_parse_tests::brace_expand_parts_no_brace_passthrough ... ok
[INFO] [stdout] test lexer::array_parse_tests::compound_append_parses ... ok
[INFO] [stdout] test lexer::array_parse_tests::parse_transform_ops ... ok
[INFO] [stdout] test lexer::array_parse_tests::subscripted_lvalue_append_parses ... ok
[INFO] [stdout] test lexer::array_parse_tests::subscripted_lvalue_parses ... ok
[INFO] [stdout] test lexer::array_parse_tests::subscripted_ref_at_all ... ok
[INFO] [stdout] test lexer::array_parse_tests::unterminated_array_literal_errors ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_concatenates_with_adjacent_word ... ok
[INFO] [stdout] test lexer::array_parse_tests::subscripted_ref_at_star ... ok
[INFO] [stdout] test lexer::array_parse_tests::subscripted_ref_index_carries_word ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_backslash_and_quote ... ok
[INFO] [stdout] test lexer::array_parse_tests::compound_rhs_is_array_literal ... ok
[INFO] [stdout] test lexer::array_parse_tests::sparse_compound_rhs_carries_subscripts ... ok
[INFO] [stdout] test lexer::array_parse_tests::unterminated_subscript_errors ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_empty ... ok
[INFO] [stdout] test lexer::array_parse_tests::brace_expand_parts_literal_splits ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_hex_escapes ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_invalid_codepoint_is_error ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_newline_escape ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_unicode_8digit ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_control_chars ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_unterminated_is_error ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_unknown_escape_preserves_both ... ok
[INFO] [stdout] test lexer::tests::arith_block_empty_body ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_octal_escapes ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_octal_greedy_stops_at_non_octal ... ok
[INFO] [stdout] test lexer::tests::arith_block_nested_parens ... ok
[INFO] [stdout] test lexer::tests::arith_block_with_internal_whitespace ... ok
[INFO] [stdout] test lexer::tests::arith_block_single_paren_at_end_errors ... ok
[INFO] [stdout] test lexer::tests::backslash_escaped_metachar_is_quoted_literal ... ok
[INFO] [stdout] test lexer::tests::arith_block_with_semicolons ... ok
[INFO] [stdout] test lexer::tests::brace_case_lower_all ... ok
[INFO] [stdout] test lexer::tests::arith_block_outside_dbracket_unchanged ... ok
[INFO] [stdout] test lexer::tests::brace_case_positional ... ok
[INFO] [stdout] test lexer::tests::brace_case_unterminated_is_error ... ok
[INFO] [stdout] test jobs::tests::reap_pipeline_uses_last_stage_status ... ok
[INFO] [stdout] test lexer::tests::brace_case_upper_all ... ok
[INFO] [stdout] test lexer::tests::brace_case_upper_all_with_pattern ... ok
[INFO] [stdout] test jobs::tests::reap_repeated_stopped_status_same_signal_is_idempotent_for_notification ... ok
[INFO] [stdout] test lexer::tests::brace_case_upper_first ... ok
[INFO] [stdout] test jobs::tests::reap_single_pid_transitions_to_done ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_tab_escape ... ok
[INFO] [stdout] test lexer::tests::ansi_c_quote_unicode_4digit ... ok
[INFO] [stdout] test lexer::tests::arith_block_unclosed_errors ... ok
[INFO] [stdout] test lexer::tests::backslash_in_middle_of_word_flushes_and_quotes ... ok
[INFO] [stdout] test lexer::tests::arith_block_simple ... ok
[INFO] [stdout] test lexer::tests::brace_case_lower_first ... ok
[INFO] [stdout] test lexer::tests::brace_length_bare_hash_unchanged ... ok
[INFO] [stdout] test lexer::tests::brace_length_multi_digit_positional ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_escaped_slash_in_pattern ... ok
[INFO] [stdout] test lexer::tests::brace_length_positional ... ok
[INFO] [stdout] test lexer::tests::brace_length_at ... ok
[INFO] [stdout] test lexer::tests::brace_length_star ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_nested_braced_var_in_pattern ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_first_match ... ok
[INFO] [stdout] test lexer::tests::brace_length_unchanged_for_named ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_anchored_suffix ... ok
[INFO] [stdout] test lexer::tests::brace_substring_empty_operand_is_lex_error ... ok
[INFO] [stdout] test lexer::tests::brace_substring_negative_offset_with_space ... ok
[INFO] [stdout] test lexer::tests::brace_substring_no_space_is_use_default_regression ... ok
[INFO] [stdout] test lexer::tests::brace_substring_simple ... ok
[INFO] [stdout] test lexer::tests::brace_substring_positional ... ok
[INFO] [stdout] test lexer::tests::brace_substring_unterminated_is_error ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_unterminated_is_error ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_all_matches ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_missing_replacement_is_empty_word ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_anchored_prefix ... ok
[INFO] [stdout] test lexer::tests::carriage_return_is_still_plain_whitespace ... ok
[INFO] [stdout] test lexer::tests::braced_operand_bare_brace_is_literal ... ok
[INFO] [stdout] test lexer::tests::char_cursor_offset_with_multibyte ... ok
[INFO] [stdout] test lexer::tests::brace_substring_nested_braced_var_in_operand ... ok
[INFO] [stdout] test lexer::tests::brace_substitute_nested_braced_var_in_replacement ... ok
[INFO] [stdout] test lexer::tests::brace_substring_with_length ... ok
[INFO] [stdout] test lexer::tests::char_cursor_tracks_byte_offset ... ok
[INFO] [stdout] test lexer::tests::dbracket_regex_operand_after_line_continuation ... ok
[INFO] [stdout] test lexer::tests::dbracket_regex_double_paren_not_arithblock ... ok
[INFO] [stdout] test lexer::tests::dbracket_regex_paren_operand_is_one_word ... ok
[INFO] [stdout] test lexer::tests::extglob_all_prefixes_and_nesting ... ok
[INFO] [stdout] test lexer::tests::extglob_group_preserves_inner_expansion ... ok
[INFO] [stdout] test lexer::tests::extglob_inside_command_sub_lexes ... ok
[INFO] [stdout] test lexer::tests::extglob_inside_backtick_sub_lexes ... ok
[INFO] [stdout] test lexer::tests::lex_clobber_stdout ... ok
[INFO] [stdout] test lexer::tests::command_sub_without_extglob_still_errors_on_bare_extglob ... ok
[INFO] [stdout] test lexer::tests::consecutive_newlines_emit_consecutive_tokens ... ok
[INFO] [stdout] test lexer::tests::lex_redir_then_pipe_unaffected ... ok
[INFO] [stdout] test lexer::tests::dbracket_regex_line847_shape ... ok
[INFO] [stdout] test lexer::tests::extglob_inside_array_literal_command_sub_lexes ... ok
[INFO] [stdout] test lexer::tests::lex_clobber_stderr ... ok
[INFO] [stdout] test lexer::tests::dbracket_regex_space_inside_parens_kept ... ok
[INFO] [stdout] test lexer::tests::lex_clobber_with_target ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_dollar_inside_double_quotes ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_zero_already_emits_var_name_zero ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_bang_emits_var_name_bang ... ok
[INFO] [stdout] test lexer::tests::newline_inside_double_quotes_stays_literal ... ok
[INFO] [stdout] test lexer::tests::newline_inside_single_quotes_stays_literal ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_bang_inside_double_quotes ... ok
[INFO] [stdout] test lexer::tests::newline_outside_quotes_emits_newline_token ... ok
[INFO] [stdout] test lexer::tests::offsets_align_with_token_starts ... ok
[INFO] [stdout] test lexer::tests::offsets_error_returns_failure_position ... ok
[INFO] [stdout] test lexer::tests::offsets_point_at_real_token_starts ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_dollar_concatenates_with_literal ... ok
[INFO] [stdout] test lexer::tests::lexer_dollar_dollar_emits_var_name_dollar ... ok
[INFO] [stdout] test lexer::tests::offsets_support_line_lookup ... ok
[INFO] [stdout] test lexer::tests::operand_double_quote_keeps_expansion ... ok
[INFO] [stdout] test lexer::tests::operand_parens_are_literal ... ok
[INFO] [stdout] test lexer::tests::operand_pipe_semicolon_amp_are_literal ... ok
[INFO] [stdout] test lexer::tests::operand_expansion_with_parens ... ok
[INFO] [stdout] test lexer::tests::operand_plain_words_split_friendly ... ok
[INFO] [stdout] test lexer::tests::operand_nested_brace ... ok
[INFO] [stdout] test lexer::tests::operand_single_quote_is_literal_span ... ok
[INFO] [stdout] test lexer::tests::parse_braced_operand_empty_returns_empty_word ... ok
[INFO] [stdout] test lexer::tests::parse_braced_operand_single_word ... ok
[INFO] [stdout] test lexer::tests::parse_braced_operand_top_level_pipe_is_ok ... ok
[INFO] [stdout] test lexer::tests::parse_braced_operand_two_words_join_with_space ... ok
[INFO] [stdout] test lexer::tests::plain_command_sub_unchanged ... ok
[INFO] [stdout] test lexer::tests::quoted_dbracket_word_does_not_change_depth ... ok
[INFO] [stdout] test lexer::tests::quoted_prefix_disqualifies_assignment ... ok
[INFO] [stdout] test lexer::tests::scan_braced_operand_double_quote_protects_brace ... ok
[INFO] [stdout] test lexer::tests::scan_braced_operand_nested_braces ... ok
[INFO] [stdout] test lexer::tests::scan_braced_operand_simple ... ok
[INFO] [stdout] test lexer::tests::scan_braced_operand_unterminated_is_error ... ok
[INFO] [stdout] test lexer::tests::scan_braced_operand_single_quote_protects_brace ... ok
[INFO] [stdout] test lexer::tests::space_between_parens_is_not_arith_block ... ok
[INFO] [stdout] test lexer::tests::tokenize_adjacent_runs_concatenate ... ok
[INFO] [stdout] test lexer::tests::tokenize_and_redir_append ... ok
[INFO] [stdout] test lexer::tests::tokenize_and_with_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_and_redir_out ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_back_to_back_in_same_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_and_without_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_and_command_sub_both_recognized ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_unterminated_returns_error ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_simple ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_with_nested_parens ... ok
[INFO] [stdout] test lexer::tests::tokenize_assignment_bare_tilde_after_equals ... ok
[INFO] [stdout] test lexer::tests::tokenize_assignment_value_expands_each_tilde_after_colon ... ok
[INFO] [stdout] test lexer::tests::tokenize_assign_default_colon_equals ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_escape_outside_quotes ... ok
[INFO] [stdout] test lexer::tests::extglob_word_recognized_when_enabled ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_var_with_dollar_prefix_inside ... ok
[INFO] [stdout] test lexer::tests::tokenize_assignment_with_digit_first_is_not_assignment_context ... ok
[INFO] [stdout] test lexer::tests::tokenize_assignment_value_expands_first_tilde_after_equals ... ok
[INFO] [stdout] test lexer::tests::tokenize_background_regression ... ok
[INFO] [stdout] test lexer::tests::extglob_word_split_when_disabled ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_brace_not_expanded ... ok
[INFO] [stdout] test lexer::tests::grouping_paren_outside_regex_still_op ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_inside_double_quotes_is_quoted ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_parse_error_is_deferred_to_eval ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_escape_backslash ... ok
[INFO] [stdout] test lexer::tests::tokenize_assignment_value_tilde_user ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_escape_dollar ... ok
[INFO] [stdout] test lexer::tests::tokenize_arith_close_paren_not_followed_by_close_paren_is_unterminated ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_newline_is_line_continuation_with_space ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_newline_inside_single_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_newline_joins_adjacent_chars_into_one_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_bgpid_bare ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_basic ... ok
[INFO] [stdout] test lexer::tests::tokenize_backslash_newline_inside_double_quotes_is_line_continuation ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_in_single_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_dash_remove_prefix ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_in_double_quotes_is_quoted ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_indirect_still_indirect ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_unescaped_other_backslash_preserved ... ok
[INFO] [stdout] test lexer::tests::tokenize_backtick_unterminated ... ok
[INFO] [stdout] test lexer::tests::tokenize_bare_ampersand_at_end_is_background_op ... ok
[INFO] [stdout] test lexer::tests::tokenize_bare_ampersand_is_background_op ... ok
[INFO] [stdout] test lexer::tests::tokenize_brace_emits_multiple_words ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_dash_bare ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_positional ... ok
[INFO] [stdout] test lexer::tests::tokenize_brace_var_no_modifier_still_emits_var ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_special_at ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_var_empty_name ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_status_bare ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_var_separates_from_following_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_close_paren ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_empty ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_in_single_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_in_redirect_target ... ok
[INFO] [stdout] test lexer::tests::tokenize_combined_sequencing_operators ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_as_program ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_inner_parse_error ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_var_invalid_name ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_nested ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_quoted_in_double_quotes ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_at ... ok
[INFO] [stdout] test lexer::tests::tokenize_braced_pid_bare ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_concatenates_with_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_inner_lex_error ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_digit ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_hash ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_basic ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_then_digit_is_positional_param ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_unterminated ... ok
[INFO] [stdout] test lexer::tests::tokenize_comment_to_newline ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_with_subshell_body ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_star ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_var_braced ... ok
[INFO] [stdout] test lexer::tests::tokenize_brace_preserves_var ... ok
[INFO] [stdout] test lexer::tests::tokenize_command_sub_with_quoted_paren_in_body ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_var_in_double_quotes_is_quoted ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_quote_escape ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_var_in_single_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_quotes ... ok
[INFO] [stdout] test lexer::tests::tokenize_dollar_var_unquoted ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_semi ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_ampersand_still_and_op ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_bracket_close ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_semi_space_amp_is_two_tokens ... ok
[INFO] [stdout] test lexer::tests::tokenize_dup_err_basic ... ok
[INFO] [stdout] test lexer::tests::tokenize_dup_in_context ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_bracket_not_at_word_start_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_bracket_open_at_word_start ... ok
[INFO] [stdout] test lexer::tests::tokenize_dup_out_basic ... ok
[INFO] [stdout] test lexer::tests::tokenize_empty_param_name_errors ... ok
[INFO] [stdout] test lexer::tests::tokenize_empty_input ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_dollar_is_var_name_dollar ... ok
[INFO] [stdout] test lexer::tests::tokenize_empty_quotes_produce_empty_token ... ok
[INFO] [stdout] test lexer::tests::tokenize_escaped_backtick_in_double_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_error_if_unset_colon_question ... ok
[INFO] [stdout] test lexer::tests::tokenize_escaped_dollar_in_double_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_escaped_hash_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_explicit_fd1_dup ... ok
[INFO] [stdout] test lexer::tests::tokenize_explicit_fd1_redir_append ... ok
[INFO] [stdout] test lexer::tests::tokenize_full_line_comment ... ok
[INFO] [stdout] test lexer::tests::tokenize_hash_after_semicolon_is_comment ... ok
[INFO] [stdout] test lexer::tests::tokenize_hash_inside_double_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_hash_inside_single_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_hash_inside_word_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_here_string_op_alone ... ok
[INFO] [stdout] test lexer::tests::tokenize_explicit_fd1_redir_out ... ok
[INFO] [stdout] test lexer::tests::tokenize_here_string_with_command_sub_in_body ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_semi_amp ... ok
[INFO] [stdout] test lexer::tests::tokenize_double_less_still_heredoc ... ok
[INFO] [stdout] test lexer::tests::tokenize_escaped_operators_stay_words ... ok
[INFO] [stdout] test lexer::tests::tokenize_escaped_sequencing_operators_stay_words ... ok
[INFO] [stdout] test lexer::tests::tokenize_here_string_with_unquoted_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_here_string_with_var_in_body ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_body_escape_dollar ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_body_var_part ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_expanding_backslash_newline_joins_lines ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_body_backslash_passthrough ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_body_command_sub ... ok
[INFO] [stdout] test lexer::tests::tokenize_here_string_with_quoted_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_close_must_match_exactly ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_literal_backslash_newline_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_close_must_not_have_leading_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_literal_no_expand ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_multiple_in_order ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_delim_backslash_escaped_is_literal_mode ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_op_recognized ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_unclosed_errors ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_simple_expand ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_strip_tabs_with_literal_delim ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_delim_partially_quoted_is_literal_mode ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_empty_body ... ok
[INFO] [stdout] test lexer::tests::tokenize_heredoc_strip_tabs_dash ... ok
[INFO] [stdout] test lexer::tests::tokenize_indirect_array_keys_is_not_indirect ... ok
[INFO] [stdout] test lexer::tests::tokenize_indirect_bare ... ok
[INFO] [stdout] test lexer::tests::tokenize_indirect_with_default_modifier ... ok
[INFO] [stdout] test lexer::tests::tokenize_invalid_modifier_parses_as_substring ... ok
[INFO] [stdout] test lexer::tests::tokenize_last_status ... ok
[INFO] [stdout] test lexer::tests::tokenize_length_modifier ... ok
[INFO] [stdout] test lexer::tests::tokenize_length_modifier_digit_leading_name_errors ... ok
[INFO] [stdout] test lexer::tests::tokenize_lone_backslash_newline_is_empty ... ok
[INFO] [stdout] test lexer::tests::tokenize_lone_semi_still_semi ... ok
[INFO] [stdout] test lexer::tests::tokenize_mixed_quoted_unquoted_flushes_at_boundaries ... ok
[INFO] [stdout] test lexer::tests::tokenize_nested_param_expansion_in_operand ... ok
[INFO] [stdout] test lexer::tests::tokenize_open_paren ... ok
[INFO] [stdout] test lexer::tests::tokenize_non_assignment_colon_tilde_stays_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_or_without_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_one_as_arg_when_has_token ... ok
[INFO] [stdout] test lexer::tests::tokenize_pipe_in_operand_ok ... ok
[INFO] [stdout] test lexer::tests::tokenize_paren_splits_adjacent_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_pipe_without_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_or_with_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_pipe_with_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_only_whitespace ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_outer_param_expansion ... ok
[INFO] [stdout] test lexer::tests::tokenize_pipeline_with_redirects ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_append ... ok
[INFO] [stdout] test lexer::tests::tokenize_redir_err_regression ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_dollar_at ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_operand_preserves_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_operators_stay_words ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_paren_stays_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_sequencing_operators_stay_words ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_out ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_out_without_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_quoted_brace_not_expanded ... ok
[INFO] [stdout] test lexer::tests::tokenize_single_quotes ... ok
[INFO] [stdout] test lexer::tests::tokenize_redir_out_regression ... ok
[INFO] [stdout] test lexer::tests::tokenize_single_quotes_preserve_backslash ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_in ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_stderr ... ok
[INFO] [stdout] test lexer::tests::tokenize_redirect_stderr_append ... ok
[INFO] [stdout] test lexer::tests::tokenize_remove_prefix_long ... ok
[INFO] [stdout] test lexer::tests::tokenize_remove_prefix_short ... ok
[INFO] [stdout] test lexer::tests::tokenize_remove_suffix_long ... ok
[INFO] [stdout] test lexer::tests::tokenize_semi_amp ... ok
[INFO] [stdout] test lexer::tests::tokenize_semicolon_with_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_remove_suffix_short ... ok
[INFO] [stdout] test lexer::tests::tokenize_semicolon_without_spaces ... ok
[INFO] [stdout] test lexer::tests::tokenize_simple_command ... ok
[INFO] [stdout] test lexer::tests::tokenize_single_quoted_brace_not_expanded ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_alone ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_in_quotes_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_mid_word_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_minus_slash_path ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_minus_alone ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_plus_followed_by_letter_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_plus_slash_path ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_pwd_colon_outside_assignment_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_user_alone ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_user_colon_outside_assignment_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_user_slash_path ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_followed_by_name_is_user_form ... ok
[INFO] [stdout] test lexer::tests::tokenize_trailing_comment ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_plus_alone ... ok
[INFO] [stdout] test lexer::tests::tokenize_two_adjacent_vars ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_slash_path ... ok
[INFO] [stdout] test lexer::tests::tokenize_two_separate_backgrounds ... ok
[INFO] [stdout] test lexer::tests::tokenize_two_in_word_is_not_stderr_operator ... ok
[INFO] [stdout] test lexer::tests::tokenize_use_default_no_colon ... ok
[INFO] [stdout] test lexer::tests::tokenize_use_default_colon_dash ... ok
[INFO] [stdout] test lexer::tests::tokenize_trailing_backslash_is_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_trailing_comment_then_next_line ... ok
[INFO] [stdout] test lexer::tests::tokenize_two_not_followed_by_redirect_is_a_word ... ok
[INFO] [stdout] test lexer::tests::tokenize_var_concatenates_with_literal ... ok
[INFO] [stdout] test lexer::tests::tokenize_with_opts_output_unchanged ... ok
[INFO] [stdout] test lexer::tests::tokenize_tilde_user_with_underscore_and_digits ... ok
[INFO] [stdout] test param_expansion::tests::assign_default_already_set_does_not_mutate ... ok
[INFO] [stdout] test lexer::tests::tokenize_unterminated_brace ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_lower_all_no_pattern ... ok
[INFO] [stdout] test lexer::tests::tokenize_unterminated_double_quote ... ok
[INFO] [stdout] test lexer::tests::tokenize_use_alternate_colon_plus ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_no_match_first_form_returns_unchanged ... ok
[INFO] [stdout] test lexer::tests::tokenize_unterminated_brace_modifier_errors ... ok
[INFO] [stdout] test param_expansion::tests::assign_default_colon_unset_mutates_shell ... ok
[INFO] [stdout] test param_expansion::tests::error_if_unset_colon_null_returns_empty_and_sets_status ... ok
[INFO] [stdout] test param_expansion::tests::error_if_unset_empty_operand_uses_default_message ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_invalid_glob_returns_value_unchanged ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_empty_value_returns_empty ... ok
[INFO] [stdout] test lexer::tests::tokenize_unterminated_single_quote ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_unicode_handles_multichar_uppercase ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_lower_first_no_pattern ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_case_unset_var_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_upper_all_no_pattern ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_upper_all_with_pattern_filters_chars ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_upper_first_no_pattern ... ok
[INFO] [stdout] test param_expansion::tests::case_modify_upper_first_with_pattern_picks_first_match ... ok
[INFO] [stdout] test param_expansion::tests::condition_is_null_table ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_case_upper_all_named_var ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_error_if_unset_returns_fatal ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_error_if_unset_when_set_returns_value ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_error_if_unset_with_message_returns_fatal_and_prints ... ok
[INFO] [stdout] test param_expansion::tests::error_if_unset_set_returns_value_no_status_change ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_length_positional_returns_char_count ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_remove_prefix_unset_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substitute_all ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_short_circuits_when_pending_fatal_is_set ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_length_star_returns_positional_count ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_remove_suffix_longest ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substitute_anchored_prefix ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_length_unset_positional_returns_zero ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_bad_arith_returns_empty_sets_status ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substitute_first_match ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substitute_unset_var_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_remove_prefix_longest ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_bad_arith_stays_empty_not_fatal ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_empty_pattern_removes_nothing ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_case_upper_positional_lookup ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_length_at_returns_positional_count ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_remove_prefix_shortest ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_negative_computed_length_returns_fatal ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_glob_crosses_slash ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_invalid_glob_returns_value_unchanged ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_negative_offset ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_no_length ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_positional_lookup ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_scalar_var ... ok
[INFO] [stdout] test param_expansion::tests::length_counts_unicode_chars_not_bytes ... ok
[INFO] [stdout] test param_expansion::tests::length_of_empty_is_zero ... ok
[INFO] [stdout] test param_expansion::tests::length_of_set_value_is_char_count ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_literal_match ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_unset_var_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::expand_modifier_substring_negative_length_below_zero_errors_and_empty ... ok
[INFO] [stdout] test param_expansion::tests::length_of_unset_is_zero ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_shortest_match ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_longest_match ... ok
[INFO] [stdout] test param_expansion::tests::remove_prefix_no_match_returns_value_unchanged ... ok
[INFO] [stdout] test param_expansion::tests::remove_suffix_longest_match ... ok
[INFO] [stdout] test param_expansion::tests::remove_suffix_handles_utf8_boundaries ... ok
[INFO] [stdout] test param_expansion::tests::remove_suffix_no_match ... ok
[INFO] [stdout] test param_expansion::tests::remove_suffix_shortest_match ... ok
[INFO] [stdout] test param_expansion::tests::substitute_all_unanchored ... ok
[INFO] [stdout] test param_expansion::tests::substitute_anchored_prefix_miss ... ok
[INFO] [stdout] test param_expansion::tests::substitute_anchored_suffix_hit ... ok
[INFO] [stdout] test param_expansion::tests::substitute_anchored_prefix_hit ... ok
[INFO] [stdout] test param_expansion::tests::substitute_empty_pattern_is_noop_first ... ok
[INFO] [stdout] test param_expansion::tests::substitute_all_with_empty_replacement_removes ... ok
[INFO] [stdout] test param_expansion::tests::substitute_glob_question_mark ... ok
[INFO] [stdout] test param_expansion::tests::substitute_empty_pattern_is_noop_all ... ok
[INFO] [stdout] test param_expansion::tests::substitute_anchored_suffix_miss ... ok
[INFO] [stdout] test param_expansion::tests::substitute_first_unanchored_no_match_returns_value ... ok
[INFO] [stdout] test param_expansion::tests::substitute_first_match_unanchored ... ok
[INFO] [stdout] test param_expansion::tests::substitute_glob_star_all_replaces_once_no_trailing_empty_match ... ok
[INFO] [stdout] test param_expansion::tests::substitute_empty_value_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::substitute_glob_star_longest_match ... ok
[INFO] [stdout] test param_expansion::tests::substring_empty_value_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::substring_negative_length_below_zero_is_error ... ok
[INFO] [stdout] test param_expansion::tests::substring_no_length_offset_one ... ok
[INFO] [stdout] test param_expansion::tests::substring_positive_length_clamps_to_remaining ... ok
[INFO] [stdout] test param_expansion::tests::substring_offset_equals_strlen_is_empty ... ok
[INFO] [stdout] test param_expansion::tests::substitute_invalid_glob_returns_value_unchanged ... ok
[INFO] [stdout] test param_expansion::tests::substring_negative_length_counts_from_end ... ok
[INFO] [stdout] test param_expansion::tests::substring_negative_offset_beyond_start_clamps_to_zero ... ok
[INFO] [stdout] test param_expansion::tests::substitute_unicode_boundaries ... ok
[INFO] [stdout] test param_expansion::tests::substitute_glob_star_with_prefix_match_advances_past_match ... ok
[INFO] [stdout] test param_expansion::tests::substring_negative_offset_counts_from_end ... ok
[INFO] [stdout] test param_expansion::tests::substring_no_length_full ... ok
[INFO] [stdout] test param_expansion::tests::substring_offset_beyond_strlen_clamps_to_empty ... ok
[INFO] [stdout] test param_expansion::tests::substring_negative_length_yields_empty_when_zero ... ok
[INFO] [stdout] test param_expansion::tests::substring_positive_length_within_range ... ok
[INFO] [stdout] test param_expansion::tests::substring_unicode_counts_codepoints_not_bytes ... ok
[INFO] [stdout] test param_expansion::tests::substring_zero_length_is_empty ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_colon_empty_returns_empty ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_set_returns_alternate ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_no_colon_empty_returns_alternate ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_quoted_returns_value ... ok
[INFO] [stdout] test param_expansion::tests::use_default_colon_unset_uses_default ... ok
[INFO] [stdout] test param_expansion::tests::use_default_colon_empty_uses_default ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::control_chars_use_ansi_c ... ok
[INFO] [stdout] test param_expansion::tests::use_default_no_colon_empty_returns_empty_value_not_default ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_unquoted_returns_fields ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::metas_get_single_quoted ... ok
[INFO] [stdout] test param_expansion::tests::use_default_set_nonempty_returns_value ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::single_quote_in_value_is_escaped ... ok
[INFO] [stdout] test prompt::tests::expand_arith_simple ... ok
[INFO] [stdout] test prompt::tests::expand_arith_nested_parens ... ok
[INFO] [stdout] test prompt::tests::cmdsub_output_readline_markers_converted ... ok
[INFO] [stdout] test prompt::tests::expand_backtick ... ok
[INFO] [stdout] test prompt::tests::expand_arith_unterminated_is_literal ... ok
[INFO] [stdout] test prompt::tests::expand_bracket_markers ... ok
[INFO] [stdout] test prompt::tests::expand_bell ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::leading_tilde_and_hash_are_meta_but_not_mid_word ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::empty_is_two_quotes ... ok
[INFO] [stdout] test param_expansion::tests::use_alternate_unset_returns_empty ... ok
[INFO] [stdout] test prompt::tests::cmdsub_output_markers_with_ansi_excluded_from_width ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_nested_and_mixed ... ok
[INFO] [stdout] test param_expansion::xtrace_quote_tests::bare_safe_words ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_passes_ansi_and_markers_through ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_simple ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_strips_trailing_newlines ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_unterminated_is_literal ... ok
[INFO] [stdout] test prompt::tests::expand_cwd_basename ... ok
[INFO] [stdout] test prompt::tests::expand_cwd_basename_root_is_slash ... ok
[INFO] [stdout] test prompt::tests::expand_cwd_basename_trailing_slash ... ok
[INFO] [stdout] test prompt::tests::expand_dollar_user_vs_root ... ok
[INFO] [stdout] test prompt::tests::expand_cwd_with_home_collapse ... ok
[INFO] [stdout] test prompt::tests::expand_dollar_var_bare ... ok
[INFO] [stdout] test prompt::tests::expand_dollar_var_with_braces ... ok
[INFO] [stdout] test prompt::tests::expand_escape_e_and_033 ... ok
[INFO] [stdout] test prompt::tests::expand_hostname_short ... ok
[INFO] [stdout] test prompt::tests::expand_jobs_count_zero ... ok
[INFO] [stdout] test prompt::tests::expand_n_r_backslash ... ok
[INFO] [stdout] test prompt::tests::expand_unknown_escape_preserved ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_bare_end_marker_dropped ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_keeps_marker_free_prompt ... ok
[INFO] [stdout] test prompt::tests::expand_user ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_output_has_no_control_or_escape ... ok
[INFO] [stdout] test prompt::tests::literal_text_passes_through ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_unbalanced_start_skips_to_end ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_strips_osc_inside_markers ... ok
[INFO] [stdout] test shell::prompt_command_tests::array_runs_all_elements_in_order ... ok
[INFO] [stdout] test shell::prompt_command_tests::array_propagates_exit_and_stops ... ok
[INFO] [stdout] test shell::prompt_command_tests::fires_when_set ... ok
[INFO] [stdout] test shell::prompt_command_tests::array_skips_empty_elements ... ok
[INFO] [stdout] test shell::prompt_command_tests::no_op_when_unset ... ok
[INFO] [stdout] test shell::prompt_command_tests::propagates_exit ... ok
[INFO] [stdout] test prompt::tests::prompt_raw_strips_marker_spans ... ok
[INFO] [stdout] test shell::prompt_command_tests::array_last_status_reflects_last_element ... ok
[INFO] [stdout] test shell::prompt_command_tests::last_status_reflects_pc ... ok
[INFO] [stdout] test prompt::tests::expand_undefined_var_empty ... ok
[INFO] [stdout] test shell::prompt_command_tests::no_op_when_empty ... ok
[INFO] [stdout] test prompt::tests::expand_status ... ok
[INFO] [stdout] test shell::rc_tests::cli_bare_double_dash_is_interactive ... ok
[INFO] [stdout] test shell::prompt_command_tests::silent_when_non_interactive ... ok
[INFO] [stdout] test shell::rc_tests::cli_dash_c_no_operands_argv0_none ... ok
[INFO] [stdout] test shell::rc_tests::cli_double_dash_ends_options_for_file ... ok
[INFO] [stdout] test shell::rc_tests::cli_dash_c_first_operand_is_argv0 ... ok
[INFO] [stdout] test shell::rc_tests::cli_dash_c_requires_argument ... ok
[INFO] [stdout] test shell::rc_tests::cli_operands_after_c_are_verbatim_including_dashdash ... ok
[INFO] [stdout] test shell::rc_tests::cli_dash_c_precedence_over_file ... ok
[INFO] [stdout] test shell::rc_tests::cli_file_mode_sets_path_and_args ... ok
[INFO] [stdout] test shell::rc_tests::cli_norc_then_file_still_parses ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_norc ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_empty ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_rcfile_no_arg_errors ... ok
[INFO] [stdout] test shell::rc_tests::cli_unknown_leading_flag_errors ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_rcfile_joined ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_unknown_errors ... ok
[INFO] [stdout] test shell::rc_tests::rc_explicit_exit_propagates ... ok
[INFO] [stdout] test shell::rc_tests::rc_default_missing_silent ... ok
[INFO] [stdout] test shell::rc_tests::rc_skips_when_non_interactive ... ok
[INFO] [stdout] test shell_state::array_value_tests::export_set_on_indexed_overwrites_element_zero_only_and_marks_exported ... ok
[INFO] [stdout] test shell::rc_tests::rc_skips_when_norc ... ok
[INFO] [stdout] test shell_state::array_value_tests::scalar_view_empty_for_indexed_without_zero ... ok
[INFO] [stdout] test shell::rc_tests::rc_sources_explicit_path ... ok
[INFO] [stdout] test shell_state::array_value_tests::scalar_view_empty_for_empty_indexed ... ok
[INFO] [stdout] test shell::rc_tests::rc_explicit_missing_errors ... ok
[INFO] [stdout] test shell_state::array_value_tests::scalar_view_returns_element_zero_for_indexed ... ok
[INFO] [stdout] test shell_state::array_value_tests::scalar_view_returns_string_for_scalar ... ok
[INFO] [stdout] test shell_state::array_value_tests::set_on_indexed_overwrites_element_zero_only ... ok
[INFO] [stdout] test shell_state::array_value_tests::try_set_on_indexed_overwrites_element_zero_only ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::append_associative_element_concatenates ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::declare_associative_on_existing_associative_is_noop ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::declare_err_message_uses_command_name ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::append_associative_element_creates_when_missing ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::replace_associative_overwrites ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::set_associative_element_preserves_insertion_order_on_update ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::readonly_blocks_set_associative_element ... ok
[INFO] [stdout] test shell_state::array_value_tests::variable_scalar_constructor_sets_defaults ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::declare_associative_on_scalar_errors ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::declare_associative_on_indexed_errors ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::declare_associative_on_unset_creates_empty ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::unset_associative_element_on_missing_key_is_noop ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::unset_associative_element_removes_one_key ... ok
[INFO] [stdout] test shell_state::ifs_helper_tests::ifs_default_when_unset ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::unset_associative_element_on_non_associative_is_noop ... ok
[INFO] [stdout] test shell_state::shopt_tests::dollar_dash_c_after_x ... ok
[INFO] [stdout] test shell_state::ifs_helper_tests::ifs_returns_set_value ... ok
[INFO] [stdout] test shell_state::ifs_helper_tests::ifs_returns_empty_when_set_to_empty ... ok
[INFO] [stdout] test shell_state::shopt_tests::dollar_dash_x_after_v ... ok
[INFO] [stdout] test shell_state::shopt_tests::dollar_dash_v_after_u ... ok
[INFO] [stdout] test shell_state::shopt_tests::dollar_dash_includes_x_when_xtrace ... ok
[INFO] [stdout] test shell_state::shopt_tests::shell_glob_opts_reflects_shopt ... ok
[INFO] [stdout] test shell_state::shopt_tests::resolve_histsize_bash_semantics ... ok
[INFO] [stdout] test shell_state::shopt_tests::noclobber_off_by_default ... ok
[INFO] [stdout] test shell_state::shopt_tests::shopt_set_and_read_back ... ok
[INFO] [stdout] test shell_state::shopt_tests::dollar_dash_includes_v_when_verbose ... ok
[INFO] [stdout] test shell_state::shopt_tests::resolve_histfilesize_bash_semantics ... ok
[INFO] [stdout] test shell_state::shopt_tests::shopt_defaults_match_bash ... ok
[INFO] [stdout] test shell_state::shopt_tests::noclobber_shows_in_dollar_dash ... ok
[INFO] [stdout] test shell_state::tests::export_creates_empty_when_missing ... ok
[INFO] [stdout] test shell_state::tests::export_marks_existing_exported ... ok
[INFO] [stdout] test shell_state::tests::exported_env_excludes_unexported ... ok
[INFO] [stdout] test shell_state::tests::exported_function_env_pairs ... ok
[INFO] [stdout] test shell_state::tests::import_rejects_bare_command ... ok
[INFO] [stdout] test shell_state::tests::import_accepts_clean_function ... ok
[INFO] [stdout] test shell_state::tests::is_exported_after_set_is_false ... ok
[INFO] [stdout] test shell_state::tests::is_set_positional_params ... ok
[INFO] [stdout] test shell_state::tests::is_exported_after_export_set_is_true ... ok
[INFO] [stdout] test shell_state::tests::import_rejects_trailing_command ... ok
[INFO] [stdout] test shell_state::tests::is_set_special_zero_is_true ... ok
[INFO] [stdout] test shell_state::tests::is_exported_unset_var_is_false ... ok
[INFO] [stdout] test shell_state::tests::import_rejects_parse_error ... ok
[INFO] [stdout] test shell_state::tests::is_set_false_for_unset ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_bang_unset_returns_empty_string ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_dollar_returns_cached_pid_as_string ... ok
[INFO] [stdout] test shell_state::tests::last_status_round_trip ... ok
[INFO] [stdout] test shell_state::tests::array_var_names_lists_arrays_not_scalars ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_bang_after_set_returns_pid_string ... ok
[INFO] [stdout] test shell_state::tests::import_accepts_simple_and_rejects_invalid_name ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_zero_nested_returns_innermost ... ok
[INFO] [stdout] test shell_state::tests::mark_and_query_exported_function ... ok
[INFO] [stdout] test shell_state::tests::is_set_true_for_set_var_even_when_empty ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_zero_in_function_returns_function_name ... ok
[INFO] [stdout] test shell_state::tests::new_initializes_sigint_flag_to_false ... ok
[INFO] [stdout] test shell_state::tests::remove_function_unexports ... ok
[INFO] [stdout] test shell_state::tests::shell_clone_shares_command_hash_history_completion_specs ... ok
[INFO] [stdout] test shell_state::tests::new_captures_shell_pgid_from_getpgrp ... ok
[INFO] [stdout] test shell_state::tests::shell_new_caches_pid_and_argv0 ... ok
[INFO] [stdout] test shell_state::tests::new_captures_inherited_env_as_exported ... ok
[INFO] [stdout] test shell_state::tests::set_creates_unexported_var ... ok
[INFO] [stdout] test shell_state::tests::should_hangup_skips_marked_and_done_jobs ... ok
[INFO] [stdout] test shell_state::tests::lookup_var_zero_top_level_returns_shell_argv0 ... ok
[INFO] [stdout] test shell_state::tests::unset_removes_variable ... ok
[INFO] [stdout] test shell_state::tests::unset_var_no_frames_plain_removes ... ok
[INFO] [stdout] test shell_state::tests::unset_var_enclosing_local_pops_and_reveals ... ok
[INFO] [stdout] test shell_state::tests::shell_clone_shares_functions_and_cow_isolates_defines ... ok
[INFO] [stdout] test shell_state::tests::set_pipestatus_writes_indexed_array ... ok
[INFO] [stdout] test test_builtin::tests::binary_integer_non_integer_operand_is_error ... ok
[INFO] [stdout] test shell_state::tests::set_preserves_existing_exported_flag ... ok
[INFO] [stdout] test shell_state::tests::unset_var_top_frame_local_plain_removes ... ok
[INFO] [stdout] test test_builtin::tests::binary_negation_over_comparison ... ok
[INFO] [stdout] test test_builtin::tests::binary_negation_over_failing_comparison_stays_error ... ok
[INFO] [stdout] test test_builtin::tests::binary_string_empty_operands ... ok
[INFO] [stdout] test test_builtin::tests::combinator_or_both_false ... ok
[INFO] [stdout] test shell_state::tests::var_names_lists_all_variables ... ok
[INFO] [stdout] test test_builtin::tests::combinator_and_one_false ... ok
[INFO] [stdout] test test_builtin::tests::bang_negates_one_arg_truthiness ... ok
[INFO] [stdout] test test_builtin::tests::binary_integer_comparisons ... ok
[INFO] [stdout] test test_builtin::tests::binary_integer_plus_signed_operand ... ok
[INFO] [stdout] test test_builtin::tests::binary_string_equality ... ok
[INFO] [stdout] test test_builtin::tests::combinator_and_both_true ... ok
[INFO] [stdout] test test_builtin::tests::binary_integer_negative_operands ... ok
[INFO] [stdout] test test_builtin::tests::dangling_combinator_at_end_error ... ok
[INFO] [stdout] test test_builtin::tests::combinator_with_binary_operands ... ok
[INFO] [stdout] test test_builtin::tests::five_or_more_args_is_usage_error ... ok
[INFO] [stdout] test test_builtin::tests::dash_a_in_two_arg_position_is_unary_not_and ... ok
[INFO] [stdout] test test_builtin::tests::four_args_without_leading_bang_is_usage_error ... ok
[INFO] [stdout] test test_builtin::tests::combinator_or_first_true ... ok
[INFO] [stdout] test test_builtin::tests::negation_inside_parens ... ok
[INFO] [stdout] test test_builtin::tests::mixed_unary_and_binary ... ok
[INFO] [stdout] test test_builtin::tests::long_and_chain_left_associative ... ok
[INFO] [stdout] test test_builtin::tests::one_arg_nonempty_is_true ... ok
[INFO] [stdout] test test_builtin::tests::one_arg_operatorlike_is_just_truthiness ... ok
[INFO] [stdout] test test_builtin::tests::double_negation ... ok
[INFO] [stdout] test test_builtin::tests::negation_of_combinator_lhs ... ok
[INFO] [stdout] test test_builtin::tests::or_chain_left_associative ... ok
[INFO] [stdout] test test_builtin::tests::parens_group_changes_precedence ... ok
[INFO] [stdout] test test_builtin::tests::nested_parens ... ok
[INFO] [stdout] test test_builtin::tests::parens_simple_wrapping ... ok
[INFO] [stdout] test test_builtin::tests::precedence_and_higher_than_or ... ok
[INFO] [stdout] test test_builtin::tests::one_arg_empty_is_false ... ok
[INFO] [stdout] test test_builtin::tests::negation_wrapping_paren_group ... ok
[INFO] [stdout] test test_builtin::tests::short_circuit_and_lhs_false_skips_rhs ... ok
[INFO] [stdout] test test_builtin::tests::short_circuit_and_skips_rhs_file_check ... ok
[INFO] [stdout] test test_builtin::tests::test_v_uses_predicate ... ok
[INFO] [stdout] test test_builtin::tests::short_circuit_or_lhs_true_skips_rhs ... ok
[INFO] [stdout] test test_builtin::tests::three_args_no_operator_no_bang_is_usage_error ... ok
[INFO] [stdout] test test_builtin::tests::two_args_unknown_operator_is_usage_error ... ok
[INFO] [stdout] test test_builtin::tests::three_args_binary_op_wins_over_leading_bang ... ok
[INFO] [stdout] test test_builtin::tests::unary_dash_a_is_file_exists_alias ... ok
[INFO] [stdout] test test_builtin::tests::unary_file_nonexistent_is_false_not_error ... ok
[INFO] [stdout] test test_builtin::tests::unary_negation_over_file_test ... ok
[INFO] [stdout] test test_builtin::tests::unary_file_exists_and_type ... ok
[INFO] [stdout] test test_builtin::tests::unary_string_z_and_n ... ok
[INFO] [stdout] test test_builtin::tests::unbalanced_close_paren_error ... ok
[INFO] [stdout] test test_builtin::tests::zero_args_is_false ... ok
[INFO] [stdout] test test_builtin::tests::unbalanced_open_paren_error ... ok
[INFO] [stdout] test test_builtin::tests::unary_readable_true_case ... ok
[INFO] [stdout] test test_builtin::tests::unary_unknown_operator_in_one_arg_position_is_truthiness ... ok
[INFO] [stdout] test test_builtin::tests::unary_symlink ... ok
[INFO] [stdout] test test_builtin::tests::unary_size_nonempty ... ok
[INFO] [stdout] test traps::tests::clear_for_subshell_resets_firing_trap_and_err_depth ... ok
[INFO] [stdout] test traps::tests::drain_pending_returns_signals_in_ascending_order ... ok
[INFO] [stdout] test traps::tests::dispatch_pending_traps_runs_registered_action ... ok
[INFO] [stdout] test traps::tests::fire_debug_trap_recursion_guard_suppresses_reentry ... ok
[INFO] [stdout] test traps::tests::fire_debug_trap_runs_action_without_remove ... ok
[INFO] [stdout] test traps::tests::dispatch_pending_traps_skips_ignored_signal ... ok
[INFO] [stdout] test traps::tests::dispatch_pending_traps_skips_unregistered_signal ... ok
[INFO] [stdout] test traps::tests::drain_pending_clears_the_bitmask ... ok
[INFO] [stdout] test traps::tests::fire_err_trap_different_signal_in_flight_does_not_suppress ... ok
[INFO] [stdout] test traps::tests::clear_for_subshell_resets_traps_and_bitmask ... ok
[INFO] [stdout] test traps::tests::fire_exit_trap_no_action_is_noop ... ok
[INFO] [stdout] test traps::tests::fire_exit_trap_runs_action_then_removes_it ... ok
[INFO] [stdout] test traps::tests::fire_err_trap_recursion_guard_suppresses_reentry ... ok
[INFO] [stdout] test traps::tests::fire_err_trap_runs_action_without_remove ... ok
[INFO] [stdout] test traps::tests::fire_return_trap_recursion_guard_suppresses_reentry ... ok
[INFO] [stdout] test traps::tests::install_exit_ignore_stores_none ... ok
[INFO] [stdout] test traps::tests::fire_return_trap_runs_action_without_remove ... ok
[INFO] [stdout] test traps::tests::name_table_has_14_trappable_entries ... ok
[INFO] [stdout] test traps::tests::install_exit_stores_action ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_debug ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_err ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_exit ... ok
[INFO] [stdout] test traps::tests::install_real_signal_stores_action_and_sigid ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_kill_by_name_errors ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_number ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_name_no_prefix ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_return ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_sig_prefix ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_stop_by_name_errors ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_stop_by_number_errors ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_unknown_name_errors ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_unknown_number_errors ... ok
[INFO] [stdout] test traps::tests::reset_exit_removes_from_traps ... ok
[INFO] [stdout] test traps::tests::parse_trap_signal_kill_by_number_errors ... ok
[INFO] [stdout] test traps::tests::reset_real_signal_unregisters_handler ... ok
[INFO] [stdout] test test_builtin::tests::compare_files_nt_ot_ef ... ok
[INFO] [stdout] test prompt::tests::expand_cmdsub_paren_in_quotes ... ok
[INFO] [stdout] test shell::rc_tests::parse_cli_rcfile_separate ... ok
[INFO] [stdout] test shell_state::assoc_value_tests::scalar_view_returns_empty_for_associative ... ok
[INFO] [stdout] test shell_state::shopt_tests::shopt_table_has_57_entries ... ok
[INFO] [stdout] test test_builtin::tests::empty_parens_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2105 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/aliases_integration.rs (/opt/rustwide/target/debug/deps/aliases_integration-31812628f448d61d)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test recursive_alias_chain ... ok
[INFO] [stdout] test unalias_removes_expansion ... ok
[INFO] [stdout] test alias_expansion_via_repl ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/alternate_word_quoting_integration.rs (/opt/rustwide/target/debug/deps/alternate_word_quoting_integration-495a77117479a1c2)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test fully_quoted_outer_unchanged_array ... ok
[INFO] [stdout] test scalar_alt_unquoted_inner_splits ... ok
[INFO] [stdout] test upvars_mise_shape_arg_count ... ok
[INFO] [stdout] test scalar_alt_quoted_inner_one_field ... ok
[INFO] [stdout] test fully_quoted_outer_unchanged_scalar ... ok
[INFO] [stdout] test assoc_alt_spaced_value_preserved ... ok
[INFO] [stdout] test array_alt_empty_element_preserved ... ok
[INFO] [stdout] test default_word_unset_unquoted_splits ... ok
[INFO] [stdout] test array_alt_spaced_element_not_resplit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ansi_c_quoting_integration.rs (/opt/rustwide/target/debug/deps/ansi_c_quoting_integration-e0e37ca8f57d8c01)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test ansi_c_concatenation_with_unquoted_suffix ... ok
[INFO] [stdout] test ansi_c_hex_escapes_form_string ... ok
[INFO] [stdout] test ansi_c_unicode_letter ... ok
[INFO] [stdout] test ansi_c_case_pattern_matches_decoded ... ok
[INFO] [stdout] test ansi_c_in_assignment_then_double_quoted_expansion ... ok
[INFO] [stdout] test ansi_c_tab_in_echo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/arith_comma_integration.rs (/opt/rustwide/target/debug/deps/arith_comma_integration-8a5f245e77c64c09)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test dollar_arith_comma_value_is_last ... ok
[INFO] [stdout] test comma_inside_parens_in_dollar_arith ... ok
[INFO] [stdout] test comma_below_assignment ... ok
[INFO] [stdout] test c_style_for_comma_in_init_and_update ... ok
[INFO] [stdout] test reassemble_comp_words_shape ... ok
[INFO] [stdout] test double_paren_comma_sets_both ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/arith_completion_integration.rs (/opt/rustwide/target/debug/deps/arith_completion_integration-5b443b1cb778617b)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test arith_assignment_persists_to_var ... ok
[INFO] [stdout] test arith_bitwise_or ... ok
[INFO] [stdout] test arith_base_n_binary ... ok
[INFO] [stdout] test arith_post_increment_in_expression ... ok
[INFO] [stdout] test arith_shift_assign ... ok
[INFO] [stdout] test arith_octal_literal ... ok
[INFO] [stdout] test arith_bitwise_and ... ok
[INFO] [stdout] test arith_hex_literal ... ok
[INFO] [stdout] test arith_prefix_decrement ... ok
[INFO] [stdout] test arith_left_shift ... ok
[INFO] [stdout] test arith_mixed_bases ... ok
[INFO] [stdout] test arith_bitwise_xor ... ok
[INFO] [stdout] test arith_compound_assignment ... ok
[INFO] [stdout] test arith_power ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/arith_dollar_integration.rs (/opt/rustwide/target/debug/deps/arith_dollar_integration-ad6be1e68ce01695)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test bare_identifier_still_works ... ok
[INFO] [stdout] test command_sub_in_arith_expansion ... ok
[INFO] [stdout] test dollar_in_arith_for_header ... ok
[INFO] [stdout] test empty_arith_expansion_is_zero ... ok
[INFO] [stdout] test arr_len_in_dbl_paren ... ok
[INFO] [stdout] test quote_removal_in_arith ... ok
[INFO] [stdout] test param_expansion_in_arith_expansion ... ok
[INFO] [stderr]      Running tests/arith_for_integration.rs (/opt/rustwide/target/debug/deps/arith_for_integration-0a1c45ef11aca020)
[INFO] [stdout] test malformed_arith_errors_at_eval ... ok
[INFO] [stdout] test dollar_hash_in_dbl_paren ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test arith_for_counter_prints_each_value ... ok
[INFO] [stdout] test arith_command_in_if_condition ... ok
[INFO] [stdout] test arith_for_nested ... ok
[INFO] [stdout] test standalone_arith_assignment_persists ... ok
[INFO] [stdout] test arith_for_infinite_with_break_terminates ... ok
[INFO] [stdout] test double_paren_no_space_is_arith_not_subshell ... ok
[INFO] [stdout] test arith_for_continue_skips_to_step ... ok
[INFO] [stderr]      Running tests/arith_integration.rs (/opt/rustwide/target/debug/deps/arith_integration-2fbbc88d9d7aabb8)
[INFO] [stdout] test space_between_parens_is_still_subshell ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test arith_negative_result ... ok
[INFO] [stdout] test arith_assignment_rhs ... ok
[INFO] [stdout] test arith_basic_precedence ... ok
[INFO] [stdout] test arith_logical_short_circuit ... ok
[INFO] [stdout] test arith_inside_double_quotes ... ok
[INFO] [stdout] test arith_ternary ... ok
[INFO] [stdout] test arith_with_variable ... ok
[INFO] [stdout] test arith_division_by_zero_writes_to_stderr ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/array_literal_arg_integration.rs (/opt/rustwide/target/debug/deps/array_literal_arg_integration-7f72d5c49a22e6b7)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test eval_subscript_and_quoted_value ... ok
[INFO] [stdout] test eval_indexed_element ... ok
[INFO] [stdout] test eval_empty_array ... ok
[INFO] [stdout] test escaped_form_still_works ... ok
[INFO] [stdout] test eval_array_append ... ok
[INFO] [stdout] test declaration_array_unchanged ... ok
[INFO] [stdout] test eval_array_literal_assignment ... ok
[INFO] [stdout] test quoted_form_still_works ... ok
[INFO] [stdout] test eval_indexed_append ... ok
[INFO] [stdout] test non_eval_arg_does_not_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/array_literal_expansion_integration.rs (/opt/rustwide/target/debug/deps/array_literal_expansion_integration-e44f8029cfa0f31e)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test append_continues_index ... ok
[INFO] [stdout] test cmdsub_split ... ok
[INFO] [stdout] test append_array_at_fans_out ... ok
[INFO] [stdout] test append_scalar_split ... ok
[INFO] [stdout] test append_to_unset_starts_at_zero ... ok
[INFO] [stdout] test fatal_pe_in_element_aborts ... ok
[INFO] [stdout] test quoted_array_at_keeps_empty_member ... ok
[INFO] [stdout] test fatal_pe_in_subscripted_element_aborts ... ok
[INFO] [stdout] test mixed_bare_and_subscript_index_continuation ... ok
[INFO] [stdout] test local_array_literal_fans_out ... ok
[INFO] [stdout] test quoted_array_at_fans_out ... ok
[INFO] [stdout] test subscript_value_not_split ... ok
[INFO] [stdout] test quoted_empty_kept ... ok
[INFO] [stdout] test scalar_word_split ... ok
[INFO] [stdout] test quoted_star_joins_to_one ... ok
[INFO] [stdout] test unquoted_empty_drops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/arrays_integration.rs (/opt/rustwide/target/debug/deps/arrays_integration-a52f873918599f89)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test scalar_promotes_on_element_assign ... ok
[INFO] [stdout] test nounset_on_unset_element_is_fatal ... ok
[INFO] [stdout] test element_read_and_write_roundtrip ... ok
[INFO] [stdout] test local_array_scoped_to_function ... ok
[INFO] [stdout] test append_element_concatenates ... ok
[INFO] [stdout] test append_array_extends ... ok
[INFO] [stdout] test star_joins_by_ifs ... ok
[INFO] [stdout] test readonly_array_blocks_element_write_with_diagnostic ... ok
[INFO] [stdout] test quoted_at_preserves_empty_elements ... ok
[INFO] [stdout] test sparse_subscript_count_is_one ... ok
[INFO] [stdout] test literal_then_for_loop_iterates_in_order ... ok
[INFO] [stderr]      Running tests/associative_arrays_integration.rs (/opt/rustwide/target/debug/deps/associative_arrays_integration-4f29ef2c2e0ffcc7)
[INFO] [stdout] test inline_prefix_with_array_rhs_restores_after_command ... ok
[INFO] [stdout] test unset_element_removes_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test declare_dash_A_on_indexed_errors ... ok
[INFO] [stdout] test local_associative_scoped_to_function ... ok
[INFO] [stdout] test append_compound_merges_keys ... ok
[INFO] [stdout] test declare_and_read_roundtrip ... ok
[INFO] [stdout] test append_element_concatenates ... ok
[INFO] [stdout] test unset_element_preserves_order_of_remaining ... ok
[INFO] [stdout] test readonly_associative_blocks_element_write ... ok
[INFO] [stdout] test count_reflects_size_after_add_and_remove ... ok
[INFO] [stdout] test nounset_on_missing_associative_key_is_fatal ... ok
[INFO] [stderr]      Running tests/async_list_integration.rs (/opt/rustwide/target/debug/deps/async_list_integration-f9fa80ca82e36fa6)
[INFO] [stdout] test iteration_order_is_insertion_order ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test regression_semi_and_or_unchanged ... ok
[INFO] [stdout] test bang_pid_set ... ok
[INFO] [stdout] test amp_group_backgrounded_true_branch ... ok
[INFO] [stdout] test trailing_amp_status_zero ... ok
[INFO] [stdout] test amp_in_for_body ... ok
[INFO] [stdout] test subshell_amp_backgrounds_left ... ok
[INFO] [stdout] test amp_group_backgrounded_false_shortcircuit ... ok
[INFO] [stdout] test amp_separator_both_run ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bang_negation_integration.rs (/opt/rustwide/target/debug/deps/bang_negation_integration-b379d3296c5373b8)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test bang_exempt_from_errexit ... ok
[INFO] [stdout] test double_bang_cancels ... ok
[INFO] [stdout] test bang_in_while_condition ... ok
[INFO] [stdout] test bang_basic ... ok
[INFO] [stdout] test bang_with_pipefail ... ok
[INFO] [stdout] test bang_pipeline_status_and_pipestatus ... ok
[INFO] [stdout] test bang_in_if_condition ... ok
[INFO] [stdout] test bang_before_compound ... ok
[INFO] [stdout] test bang_with_and ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bare_local_unset_integration.rs (/opt/rustwide/target/debug/deps/bare_local_unset_integration-7e48d0e37b461c89)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test local_explicit_empty_is_set ... ok
[INFO] [stdout] test bare_local_is_unset_for_v_test ... ok
[INFO] [stdout] test get_comp_words_local_v_shape ... ok
[INFO] [stdout] test bare_local_then_assign_is_local_and_restores_outer ... ok
[INFO] [stdout] test bare_local_uses_default_in_non_colon_modifier ... ok
[INFO] [stdout] test bare_local_shadows_outer_as_unset ... ok
[INFO] [stdout] test local_with_value_is_set ... ok
[INFO] [stdout] test re_local_of_already_set_local_preserves_value ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bash_rematch_integration.rs (/opt/rustwide/target/debug/deps/bash_rematch_integration-274db9ef81e25c4b)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test no_match_clears ... ok
[INFO] [stdout] test matched_substring ... ok
[INFO] [stdout] test longopt_style_extraction ... ok
[INFO] [stdout] test whole_match_and_groups ... ok
[INFO] [stdout] test nonparticipating_group_is_empty ... ok
[INFO] [stdout] test quoted_regex_sets_rematch ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bashrc_builtin_gaps_integration.rs (/opt/rustwide/target/debug/deps/bashrc_builtin_gaps_integration-1dc571376fe1d5da)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test dbracket_o_option_on ... ok
[INFO] [stdout] test dbracket_o_option_off ... ok
[INFO] [stdout] test declare_g_survives_function_exit ... ok
[INFO] [stdout] test unset_v_removes_variable ... ok
[INFO] [stdout] test unset_f_removes_function ... ok
[INFO] [stdout] test unset_f_does_not_touch_samename_var ... ok
[INFO] [stdout] test unset_missing_is_success ... ok
[INFO] [stdout] test dbracket_o_git_prompt_shape ... ok
[INFO] [stdout] test declare_g_toplevel_and_composed ... ok
[INFO] [stderr]      Running tests/bashrc_zero_errors_integration.rs (/opt/rustwide/target/debug/deps/bashrc_zero_errors_integration-6f064ef422765492)
[INFO] [stdout] test declare_without_g_is_local ... ok
[INFO] [stdout] test dbracket_o_reflects_errexit_unknown_negation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test array_default_set_yields_elements ... ok
[INFO] [stdout] test array_star_alt ... ok
[INFO] [stdout] test array_alt_empty_is_unset ... ok
[INFO] [stdout] test array_alt_set ... ok
[INFO] [stdout] test assoc_default_set_yields_values ... ok
[INFO] [stdout] test array_idiom_unset_empty ... ok
[INFO] [stdout] test array_default_unset_yields_word ... ok
[INFO] [stdout] test array_safe_idiom ... ok
[INFO] [stdout] test builtin_stderr_unredirected_still_reaches_stderr ... ok
[INFO] [stdout] test export_a_flag_bare_no_output ... ok
[INFO] [stdout] test builtin_stderr_2_devnull_suppressed ... ok
[INFO] [stdout] test assoc_alt_set ... ok
[INFO] [stdout] test assoc_default_unset ... ok
[INFO] [stdout] test assoc_alt_empty ... ok
[INFO] [stdout] test export_a_with_assignment_exports ... ok
[INFO] [stdout] test array_alt_unset ... ok
[INFO] [stdout] test export_a_bare_name_exported ... ok
[INFO] [stdout] test export_plain_assignment_unchanged ... ok
[INFO] [stdout] test builtin_stderr_2_file_captured ... ok
[INFO] [stdout] test builtin_stderr_2_redirect_to_stdout_fd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bg_sequence_integration.rs (/opt/rustwide/target/debug/deps/bg_sequence_integration-cc3b8b5741d79e0b)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test bg_chain_short_circuits ... ok
[INFO] [stdout] test bg_and_chain_runs_to_completion ... ok
[INFO] [stderr]      Running tests/brace_expansion_integration.rs (/opt/rustwide/target/debug/deps/brace_expansion_integration-a51b28e242c68daf)
[INFO] [stdout] test bg_semi_chain_runs_both ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test brace_range_in_for_loop ... ok
[INFO] [stdout] test brace_cartesian ... ok
[INFO] [stdout] test brace_list_in_echo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/braced_special_params_integration.rs (/opt/rustwide/target/debug/deps/braced_special_params_integration-417123b8b042d1a3)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test braced_dash_equals_unbraced ... ok
[INFO] [stdout] test regression_braced_count_allargs_indirect_unchanged ... ok
[INFO] [stdout] test braced_status_with_modifier ... ok
[INFO] [stdout] test braced_pid_equals_dollar_dollar ... ok
[INFO] [stdout] test braced_status ... ok
[INFO] [stdout] test braced_dash_remove_prefix_nvm_shape ... ok
[INFO] [stdout] test braced_bgpid_empty_then_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bracket_negation_integration.rs (/opt/rustwide/target/debug/deps/bracket_negation_integration-0f5b6b589d5a12fa)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test subst_negated_posix_class ... ignored, M-54: the glob crate does not support POSIX bracket classes ([:digit:]), independent of [^...] negation; the ^->! translation is exercised by subst_negated_class_removes_complement etc. and verified for the POSIX case in the glob_match unit test posix_class_inner_brackets. Bash output here is `12`.
[INFO] [stdout] test remove_prefix_negated_class ... ok
[INFO] [stdout] test bang_negation_still_works ... ok
[INFO] [stdout] test caret_not_leading_is_literal ... ok
[INFO] [stdout] test case_negated_class ... ok
[INFO] [stdout] test pathname_negated_class ... ok
[INFO] [stdout] test subst_negated_class_removes_complement ... ok
[INFO] [stdout] test dbracket_negated_class ... ok
[INFO] [stderr]      Running tests/builtin_builtin_integration.rs (/opt/rustwide/target/debug/deps/builtin_builtin_integration-bedac3306ae8c1e4)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test builtin_command_cd_runs_cd ... ok
[INFO] [stdout] test builtin_alone_is_noop ... ok
[INFO] [stdout] test builtin_cd_runs_cd ... ok
[INFO] [stdout] test builtin_bypasses_cd_function ... ok
[INFO] [stdout] test builtin_command_declaration ... ok
[INFO] [stdout] test builtin_echo ... ok
[INFO] [stdout] test builtin_cd_wrapper_no_recursion ... ok
[INFO] [stdout] test builtin_nested_builtin_declaration ... ok
[INFO] [stdout] test command_builtin_cd_runs_cd ... ok
[INFO] [stdout] test builtin_declaration_local ... ok
[INFO] [stdout] test builtin_not_a_builtin_errors ... ok
[INFO] [stdout] test command_builtin_declaration_does_not_panic ... ok
[INFO] [stdout] test type_recognizes_builtin ... ok
[INFO] [stdout] test command_builtin_declaration_guard_rc_is_1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/builtin_pipe_flush_integration.rs (/opt/rustwide/target/debug/deps/builtin_pipe_flush_integration-0b8d3cb737cffa40)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test builtin_only_last_line_unterminated_piped ... ok
[INFO] [stdout] test external_ordering_bare ... ok
[INFO] [stdout] test capture_subst_unaffected ... ok
[INFO] [stdout] test builtin_unterminated_in_subshell ... ok
[INFO] [stdout] test builtin_unterminated_piped_not_truncated ... ok
[INFO] [stdout] test loop_of_builtins_unterminated_piped ... ok
[INFO] [stdout] test external_ordering_in_subshell ... ok
[INFO] [stdout] test terminated_builtin_unchanged ... ok
[INFO] [stdout] test no_duplication_parent_partial_then_piped_builtin ... ok
[INFO] [stdout] test external_ordering_piped ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/builtin_stdout_dup_integration.rs (/opt/rustwide/target/debug/deps/builtin_stdout_dup_integration-0a4ecf375ae1549f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test echo_to_stderr_not_captured_on_stdout ... ok
[INFO] [stdout] test printf_to_stderr_not_captured ... ok
[INFO] [stdout] test echo_redirect_to_2_reaches_stderr ... ok
[INFO] [stdout] test echo_ampersand1_still_stdout ... ok
[INFO] [stderr]      Running tests/captured_pipeline_drain_integration.rs (/opt/rustwide/target/debug/deps/captured_pipeline_drain_integration-f4c62ec273da2558)
[INFO] [stdout] test func_err_to_stderr_suppressed_by_caller_redirect ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test non_capture_pipeline_unaffected ... ok
[INFO] [stdout] test pipestatus_after_captured_pipeline ... ok
[INFO] [stdout] test small_captured_pipeline_still_works ... ok
[INFO] [stdout] test large_producer_small_final_output ... ok
[INFO] [stdout] test large_captured_pipeline_does_not_hang ... ok
[INFO] [stdout] test three_stage_captured_pipeline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/case_integration.rs (/opt/rustwide/target/debug/deps/case_integration-f4a695416c0a064d)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test case_basic_match ... ok
[INFO] [stdout] test case_alternation ... ok
[INFO] [stdout] test case_empty_body ... ok
[INFO] [stdout] test case_leading_paren_form ... ok
[INFO] [stdout] test break_from_case_inside_loop ... ok
[INFO] [stdout] test case_fall_through ... ok
[INFO] [stdout] test case_no_match_runs_nothing ... ok
[INFO] [stdout] test case_catch_all_star ... ok
[INFO] [stdout] test case_subject_is_variable ... ok
[INFO] [stdout] test case_continue_match ... ok
[INFO] [stdout] test case_nested_in_for ... ok
[INFO] [stdout] test case_multiline ... ok
[INFO] [stdout] test case_question_mark_pattern ... ok
[INFO] [stdout] test case_glob_pattern ... ok
[INFO] [stdout] test case_quoted_metacharacter_is_literal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cd_dash_integration.rs (/opt/rustwide/target/debug/deps/cd_dash_integration-24c70f4d2652b217)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test cd_dash_errors_when_oldpwd_unset ... ok
[INFO] [stdout] test cd_dash_swaps_pwd_and_oldpwd ... ok
[INFO] [stdout] test cd_dash_returns_to_previous_directory ... ok
[INFO] [stdout] test cd_dash_prints_new_pwd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cmdsub_assign_status_integration.rs (/opt/rustwide/target/debug/deps/cmdsub_assign_status_integration-270c8a1ab1088f3b)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test dollar_question_in_rhs_reads_previous_status ... ok
[INFO] [stdout] test two_assigns_last_wins ... ok
[INFO] [stdout] test two_subs_one_rhs_last_wins ... ok
[INFO] [stdout] test cmdsub_false_status ... ok
[INFO] [stdout] test local_assign_keeps_builtin_status ... ok
[INFO] [stdout] test cmdsub_exit7_status ... ok
[INFO] [stdout] test plain_assign_zero ... ok
[INFO] [stdout] test append_assign_cmdsub_status ... ok
[INFO] [stderr]      Running tests/cmdsub_subshell_integration.rs (/opt/rustwide/target/debug/deps/cmdsub_subshell_integration-f95f3da00282f587)
[INFO] [stdout] test assign_prefix_to_command_keeps_command_status ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test regression_plain_and_nested_cmdsub ... ok
[INFO] [stdout] test nested_arith_in_cmdsub ... ok
[INFO] [stdout] test subshell_in_cmdsub ... ok
[INFO] [stdout] test subshell_or_in_cmdsub ... ok
[INFO] [stdout] test subshell_with_semis_in_cmdsub ... ok
[INFO] [stdout] test subshell_in_array_literal ... ok
[INFO] [stdout] test subshell_in_default_expansion ... ok
[INFO] [stdout] test subshell_pipe_stage_in_cmdsub ... ok
[INFO] [stdout] test nvm_resolve_alias_shape ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/command_bare_form_integration.rs (/opt/rustwide/target/debug/deps/command_bare_form_integration-7f804839cf1c7c06)
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test command_bypass_inline_assignment_is_temporary ... ok
[INFO] [stdout] test command_dashdash_no_operand ... ok
[INFO] [stdout] test command_declaration_array_literal_no_panic ... ok
[INFO] [stdout] test command_dash_v_unchanged ... ok
[INFO] [stdout] test command_bypasses_function_for_builtin ... ok
[INFO] [stdout] test command_inline_assignment_applies ... ok
[INFO] [stdout] test command_p_with_introspect ... ok
[INFO] [stdout] test command_bypasses_function_for_external ... ok
[INFO] [stdout] test command_double_collapses ... ok
[INFO] [stdout] test command_dash_p_accepts ... ok
[INFO] [stdout] test command_runs_external ... ok
[INFO] [stdout] test command_declaration_builtin_no_panic ... ok
[INFO] [stdout] test command_v_then_p_with_introspect ... ok
[INFO] [stdout] test command_echo_dash_v_is_echo_arg ... ok
[INFO] [stdout] test command_no_operand_zero ... ok
[INFO] [stdout] test command_runs_builtin ... ok
[INFO] [stdout] test command_not_found_127 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/complete_actions_integration.rs (/opt/rustwide/target/debug/deps/complete_actions_integration-67a18e0d864868d7)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test compgen_empty_actions_rc_one_no_error ... ok
[INFO] [stdout] test registration_never_errors ... ok
[INFO] [stdout] test compgen_setopt_shopt_signal ... ok
[INFO] [stdout] test compgen_export_arrayvar_builtin ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/completion_integration.rs (/opt/rustwide/target/debug/deps/completion_integration-4f5ca9f88bebaf0c)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test compgen_X_filter_removes ... ok
[INFO] [stdout] test compgen_wordlist_no_match_exits_1 ... ok
[INFO] [stdout] test compgen_P_prefix_decorates ... ok
[INFO] [stdout] test compgen_F_function_reads_dollar_args ... ok
[INFO] [stdout] test compgen_S_suffix_decorates ... ok
[INFO] [stdout] test compgen_F_function_invocation ... ok
[INFO] [stdout] test compgen_action_builtin ... ok
[INFO] [stdout] test compopt_named_persists ... ok
[INFO] [stdout] test complete_invalid_action_exits_2 ... ok
[INFO] [stdout] test compgen_action_function ... ok
[INFO] [stdout] test compgen_wordlist_basic ... ok
[INFO] [stdout] test complete_D_registers_default ... ok
[INFO] [stdout] test complete_p_round_trip ... ok
[INFO] [stdout] test complete_r_removes ... ok
[INFO] [stdout] test compgen_X_bang_keeps_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/completion_jobcontrol_pty.rs (/opt/rustwide/target/debug/deps/completion_jobcontrol_pty-a344502fb5daec94)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test external_pipeline_completer_does_not_hang ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compound_redirects_integration.rs (/opt/rustwide/target/debug/deps/compound_redirects_integration-382e884984e7390b)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test capture_with_inner_redirect ... ok
[INFO] [stdout] test redirect_out_on_brace_group ... ok
[INFO] [stdout] test herestring_on_while ... ok
[INFO] [stdout] test stderr_redirect_on_compound ... ok
[INFO] [stdout] test capture_with_compound_stdout_redirect ... ok
[INFO] [stdout] test capture_stdout_not_redirected_still_captures ... ok
[INFO] [stdout] test redirect_out_on_case ... ok
[INFO] [stdout] test redirect_out_on_for ... ok
[INFO] [stdout] test redirect_out_on_if ... ok
[INFO] [stdout] test no_redirect_compound_unchanged ... ok
[INFO] [stdout] test heredoc_on_while_done ... ok
[INFO] [stdout] test append_on_brace_group ... ok
[INFO] [stdout] test redirect_out_on_subshell ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dbracket_multiline_integration.rs (/opt/rustwide/target/debug/deps/dbracket_multiline_integration-e183f2d4d9d5a18d)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test bare_double_bracket_token_is_literal_arg ... ok
[INFO] [stdout] test bareword_nonempty_true ... ok
[INFO] [stdout] test bareword_grouped ... ok
[INFO] [stdout] test bareword_empty_false ... ok
[INFO] [stdout] test multiline_break_after_operand_errors_like_bash ... ok
[INFO] [stdout] test bareword_negated_empty_true ... ok
[INFO] [stdout] test multiline_break_after_and ... ok
[INFO] [stdout] test bareword_var_set_vs_empty ... ok
[INFO] [stdout] test multiline_break_after_open ... ok
[INFO] [stdout] test singleline_still_works ... ok
[INFO] [stdout] test multiline_break_before_close ... ok
[INFO] [stdout] test test_builtin_v_set_and_unset ... ok
[INFO] [stdout] test bareword_in_connectives ... ok
[INFO] [stdout] test dbracket_v_set_and_unset ... ok
[INFO] [stdout] test test_builtin_file_ops ... ok
[INFO] [stdout] test dbracket_file_ops ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dbracket_regex_integration.rs (/opt/rustwide/target/debug/deps/dbracket_regex_integration-6b722e70ec9cb783)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test multiline_dbracket_regex ... ok
[INFO] [stdout] test anchored_groups ... ok
[INFO] [stdout] test var_interpolation_in_operand ... ok
[INFO] [stdout] test grouping_not_regex_still_works ... ok
[INFO] [stdout] test alternation_operand ... ok
[INFO] [stdout] test bracket_with_double_close_inside ... ok
[INFO] [stdout] test space_inside_parens_matches ... ok
[INFO] [stdout] test line847_shape_parses_and_matches ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/declare_f_integration.rs (/opt/rustwide/target/debug/deps/declare_f_integration-14329e8db01e2e94)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test declare_f_missing_silent ... ok
[INFO] [stdout] test declare_f_reparse_executes_if_case ... ok
[INFO] [stdout] test declare_f_escaped_glob_stays_literal ... ok
[INFO] [stdout] test declare_f_prints_body ... ok
[INFO] [stdout] test declare_f_glob_arg_still_globs ... ok
[INFO] [stdout] test declare_f_reparse_executes_for_loop ... ok
[INFO] [stderr]      Running tests/declare_integer_integration.rs (/opt/rustwide/target/debug/deps/declare_integer_integration-7641f237ca66e0ee)
[INFO] [stdout] test declare_f_test_builtin_clean ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test integer_p_format ... ok
[INFO] [stdout] test integer_garbage_becomes_zero ... ok
[INFO] [stdout] test plus_i_unmarks ... ok
[INFO] [stdout] test integer_in_for_loop ... ok
[INFO] [stdout] test integer_assign_evaluates ... ok
[INFO] [stderr]      Running tests/declare_integration.rs (/opt/rustwide/target/debug/deps/declare_integration-ae9e3e91cad3cd32)
[INFO] [stdout] test integer_reassign_evaluates ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test declare_p_prints_decl ... ok
[INFO] [stdout] test declare_plus_x_unexports ... ok
[INFO] [stdout] test declare_inside_function_is_local ... ok
[INFO] [stdout] test declare_F_lists_functions ... ok
[INFO] [stdout] test declare_bare_assigns ... ok
[INFO] [stdout] test declare_x_is_exported ... ok
[INFO] [stdout] test declare_r_is_readonly ... ok
[INFO] [stdout] test typeset_alias_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/declare_silent_integration.rs (/opt/rustwide/target/debug/deps/declare_silent_integration-f9cfa16f92b00887)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test declare_f_missing_silent ... ok
[INFO] [stdout] test mise_style_probe_no_leak ... ok
[INFO] [stdout] test declare_cap_f_missing_silent ... ok
[INFO] [stdout] test declare_cap_f_existing_prints ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dirstack_integration.rs (/opt/rustwide/target/debug/deps/dirstack_integration-b2679be57d2a3cd3)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test dirs_plus_index_prints_one ... ok
[INFO] [stdout] test dirs_v_numbered ... ok
[INFO] [stdout] test pushd_no_args_swaps_top_two ... ok
[INFO] [stdout] test dirs_c_clears ... ok
[INFO] [stdout] test popd_empty_errors ... ok
[INFO] [stdout] test pushd_dir_then_dirs ... ok
[INFO] [stdout] test pushd_only_one_entry_errors ... ok
[INFO] [stdout] test pushd_then_popd_returns_to_origin ... FAILED
[INFO] [stdout] test dirs_default_collapses_home ... FAILED
[INFO] [stdout] test pushd_plus_n_rotates ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- pushd_then_popd_returns_to_origin stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'pushd_then_popd_returns_to_origin' (3050) panicked at tests/dirstack_integration.rs:46:5:
[INFO] [stdout] assertion `left == right` failed: stdout: "/tmp /opt/rustwide/workdir\n/opt/rustwide/workdir\nAT /opt/rustwide/workdir\nWANT \n"
[INFO] [stdout]   left: "/opt/rustwide/workdir"
[INFO] [stdout]  right: ""
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5deaf6f06458 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5deaf6f06458 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5deaf6f1a2aa - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5deaf6f1a2aa - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x5deaf6f0acb2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5deaf6f0acb2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5deaf6ee5276 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5deaf6ee5276 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5deaf6efe9a9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5deaf6e9a67c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5deaf6e9a67c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5deaf6efeb62 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5deaf6efeb62 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5deaf6ee5332 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5deaf6eda539 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5deaf6ee604d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5deaf6f1a99c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5deaf6f1a913 - core[28b146924c2f19c6]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:434:23
[INFO] [stdout]   20:     0x5deaf6e7ed3f - core[28b146924c2f19c6]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5deaf6e831ad - dirstack_integration[e1320347944b2ecf]::pushd_then_popd_returns_to_origin
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:46:5
[INFO] [stdout]   22:     0x5deaf6e813f7 - dirstack_integration[e1320347944b2ecf]::pushd_then_popd_returns_to_origin::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:40:39
[INFO] [stdout]   23:     0x5deaf6e8d686 - <dirstack_integration[e1320347944b2ecf]::pushd_then_popd_returns_to_origin::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5deaf6e8d75b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5deaf6e8d75b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5deaf6e9afd5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5deaf6e9afd5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5deaf6e95b34 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5deaf6e95b34 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5deaf6e9e052 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5deaf6e9e052 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5deaf6e9e052 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5deaf6f05dbf - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x5deaf6f05dbf - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x78ce3acbbaa4 - <unknown>
[INFO] [stdout]   45:     0x78ce3ad48a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- dirs_default_collapses_home stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'dirs_default_collapses_home' (3035) panicked at tests/dirstack_integration.rs:88:5:
[INFO] [stdout] stdout: "/opt/rustwide/workdir\n"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5deaf6f06458 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5deaf6f06458 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5deaf6f1a2aa - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5deaf6f1a2aa - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x5deaf6f0acb2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5deaf6f0acb2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5deaf6ee5276 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5deaf6ee5276 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5deaf6efe9a9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5deaf6e9a67c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5deaf6e9a67c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5deaf6efeb62 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5deaf6efeb62 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5deaf6ee5332 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5deaf6eda539 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5deaf6ee604d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5deaf6f1a99c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5deaf6e82b56 - dirstack_integration[e1320347944b2ecf]::dirs_default_collapses_home
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:88:5
[INFO] [stdout]   20:     0x5deaf6e81367 - dirstack_integration[e1320347944b2ecf]::dirs_default_collapses_home::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:83:33
[INFO] [stdout]   21:     0x5deaf6e8d5c6 - <dirstack_integration[e1320347944b2ecf]::dirs_default_collapses_home::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5deaf6e8d75b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5deaf6e8d75b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5deaf6e9afd5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5deaf6e9afd5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5deaf6e95b34 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5deaf6e95b34 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5deaf6e9e052 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5deaf6e9e052 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5deaf6e9e052 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5deaf6f05dbf - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   41:     0x5deaf6f05dbf - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x78ce3acbbaa4 - <unknown>
[INFO] [stdout]   43:     0x78ce3ad48a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- pushd_plus_n_rotates stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'pushd_plus_n_rotates' (3049) panicked at tests/dirstack_integration.rs:137:5:
[INFO] [stdout] assertion `left == right` failed: stdout: "/tmp /opt/rustwide/workdir\n/var /tmp /opt/rustwide/workdir\n/opt/rustwide/workdir /var /tmp\nAT /opt/rustwide/workdir\nWANT \n"
[INFO] [stdout]   left: "/opt/rustwide/workdir"
[INFO] [stdout]  right: ""
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5deaf6f06458 - std[929523f510218772]::backtrace_rs::backtrace::trace_unsynchronized::<std[929523f510218772]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5deaf6f06458 - std[929523f510218772]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5deaf6f06458 - <<std[929523f510218772]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[28b146924c2f19c6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5deaf6f1a2aa - <core[28b146924c2f19c6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5deaf6f1a2aa - core[28b146924c2f19c6]::fmt::write
[INFO] [stdout]    6:     0x5deaf6f0acb2 - std[929523f510218772]::io::default_write_fmt::<alloc[95e62e727ddf147d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5deaf6f0acb2 - <alloc[95e62e727ddf147d]::vec::Vec<u8> as std[929523f510218772]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5deaf6ee5276 - <std[929523f510218772]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5deaf6ee5276 - std[929523f510218772]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5deaf6efe9a9 - std[929523f510218772]::panicking::default_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5deaf6e9a67c - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   12:     0x5deaf6e9a67c - test[6ec0502068880816]::test_main_inner::<test[6ec0502068880816]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5deaf6efeb62 - <alloc[95e62e727ddf147d]::boxed::Box<dyn for<'a, 'b> core[28b146924c2f19c6]::ops::function::Fn<(&'a std[929523f510218772]::panic::PanicHookInfo<'b>,), Output = ()> + core[28b146924c2f19c6]::marker::Sync + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::Fn<(&std[929523f510218772]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2291:9
[INFO] [stdout]   14:     0x5deaf6efeb62 - std[929523f510218772]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5deaf6ee5332 - std[929523f510218772]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5deaf6eda539 - std[929523f510218772]::sys::backtrace::__rust_end_short_backtrace::<std[929523f510218772]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5deaf6ee604d - __rustc[acf6043c977865fb]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5deaf6f1a99c - core[28b146924c2f19c6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5deaf6f1a913 - core[28b146924c2f19c6]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:434:23
[INFO] [stdout]   20:     0x5deaf6e7ed3f - core[28b146924c2f19c6]::panicking::assert_failed::<&str, &str>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5deaf6e826da - dirstack_integration[e1320347944b2ecf]::pushd_plus_n_rotates
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:137:5
[INFO] [stdout]   22:     0x5deaf6e81307 - dirstack_integration[e1320347944b2ecf]::pushd_plus_n_rotates::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/dirstack_integration.rs:126:26
[INFO] [stdout]   23:     0x5deaf6e8d546 - <dirstack_integration[e1320347944b2ecf]::pushd_plus_n_rotates::{closure#0} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5deaf6e8d75b - <fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5deaf6e8d75b - test[6ec0502068880816]::__rust_begin_short_backtrace::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, fn() -> core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:724:18
[INFO] [stdout]   26:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:74
[INFO] [stdout]   27:     0x5deaf6e9afd5 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x5deaf6e9afd5 - std[929523f510218772]::panicking::catch_unwind::<core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>, core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x5deaf6e9afd5 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<test[6ec0502068880816]::run_test_in_process::{closure#0}>, core[28b146924c2f19c6]::result::Result<(), alloc[95e62e727ddf147d]::string::String>>
[INFO] [stderr] error: test failed, to rerun pass `--test dirstack_integration`
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test_in_process
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:747:27
[INFO] [stdout]   32:     0x5deaf6e9afd5 - test[6ec0502068880816]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:668:43
[INFO] [stdout]   33:     0x5deaf6e95b34 - test[6ec0502068880816]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/test/src/lib.rs:698:41
[INFO] [stdout]   34:     0x5deaf6e95b34 - std[929523f510218772]::sys::backtrace::__rust_begin_short_backtrace::<test[6ec0502068880816]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   36:     0x5deaf6e9e052 - <core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::do_call::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x5deaf6e9e052 - std[929523f510218772]::panicking::catch_unwind::<(), core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x5deaf6e9e052 - std[929523f510218772]::panic::catch_unwind::<core[28b146924c2f19c6]::panic::unwind_safe::AssertUnwindSafe<std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x5deaf6e9e052 - std[929523f510218772]::thread::lifecycle::spawn_unchecked::<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   41:     0x5deaf6e9e052 - <std[929523f510218772]::thread::lifecycle::spawn_unchecked<test[6ec0502068880816]::run_test::{closure#1}, ()>::{closure#1} as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5deaf6f05dbf - <alloc[95e62e727ddf147d]::boxed::Box<dyn core[28b146924c2f19c6]::ops::function::FnOnce<(), Output = ()> + core[28b146924c2f19c6]::marker::Send> as core[28b146924c2f19c6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/alloc/src/boxed.rs:2277:9
[INFO] [stdout]   43:     0x5deaf6f05dbf - <std[929523f510218772]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/cced03bfd61a304243a34504618ecec86c17063f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x78ce3acbbaa4 - <unknown>
[INFO] [stdout]   45:     0x78ce3ad48a64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     dirs_default_collapses_home
[INFO] [stdout]     pushd_plus_n_rotates
[INFO] [stdout]     pushd_then_popd_returns_to_origin
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7f9aba01e9460cb4a721c35b308df4109922b2ab4166e564d612a5b1b3cfaef5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f9aba01e9460cb4a721c35b308df4109922b2ab4166e564d612a5b1b3cfaef5", kill_on_drop: false }`
[INFO] [stdout] 7f9aba01e9460cb4a721c35b308df4109922b2ab4166e564d612a5b1b3cfaef5
